2014-02-14 63 views
0

我有一个模型,称为用户。has_one无嵌套属性。可能?

用户可以选择将一个帐户连接到外部资源。

目前我做了一切使用has_many。定期进行NEW/CREATE操作。 但我不希望他给have_many账户那个外部资源。

这可能吗? 现在我看到的唯一选择是在注册时创建_external_resource,然后允许应用程序控制器参数&将所有内容提交到Devise控制器。很难看。

只是想让他在注册时不要重新调整,但能够在他喜欢的时候设置一个。

谢谢!

回答

0

虽然你的问题是比较模糊的,我想看看这个:

#app/models/user.rb 
Class User < ActiveRecord::Base 
    has_one :resource 

    before_create :build_resource if Proc.new { |a| a.resource_id.present? } 
end 

#app/models/resource.rb 
Class Resource < ActiveRecord::Base 
    belongs_to :user 
end 

你的模式是这样的:

users 
id | name | created_at | updated_at 

resources 
id | user_id | information | other | attributes | created_at | updated_at 

这将允许你在设置资源上用户new/create页面如果你想。但是,如果您未设置resource_id属性,则不会创建它

这是您要查找的内容吗?