我有一个名为User的模型。
用户可以选择将一个帐户连接到外部资源。
目前,我使用has_many
制作了所有内容。定期NEW / CREATE操作。
但我不希望他have_many
对外部资源进行说明。
这可能吗? 现在,我看到的唯一选择是在注册时build_external_resource,然后在应用程序控制器&将所有内容提交到Devise控制器。蛮丑的。
只是希望他在注册时没有重新获得,但是在他喜欢的时候可以设置一个。
谢谢!
答案 0 :(得分: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
属性,则不会创建
这是你要找的吗?