Rails 嵌套表单和依赖关系
Rails Nested Form and dependent relationships
我目前有几个模型、用户、客户、地址和联系方式。
我使用脚手架创建了我的客户端模型,它只包含名称、潜在客户和 DBA。它目前工作得很好。
我的地址和联系人是单独创建的,因为客户可以有很多地址和联系人,他们需要 client_id 来建立关系。
假设我正在使用您的标准 crud 操作,是否有任何方法可以设置一个单一的嵌套表单,让我一次添加所有 3 个?
好的,标准的方式是fields_for
。
但通常您还想动态添加和删除关联对象(即地址),这有点高级。
有宝石可以帮助你。即 cocoon
and a great railscast: episode 403.
不幸的是这是一个专业的剧集,但投资 9 美元是非常值得的,因为 railscasts 确实是灵感的源泉(至少对我而言)。
我假设,您已经拥有或创建了关联:
rails generate migration AddClientReferenceToAddress client:references
rake db:migrate
在模型中:
class Client < ActiveRecord::Base
has_many :addresses
end
class Address < ActiveRecord::Base
belongs_to :client
end
我目前有几个模型、用户、客户、地址和联系方式。
我使用脚手架创建了我的客户端模型,它只包含名称、潜在客户和 DBA。它目前工作得很好。
我的地址和联系人是单独创建的,因为客户可以有很多地址和联系人,他们需要 client_id 来建立关系。
假设我正在使用您的标准 crud 操作,是否有任何方法可以设置一个单一的嵌套表单,让我一次添加所有 3 个?
好的,标准的方式是fields_for
。
但通常您还想动态添加和删除关联对象(即地址),这有点高级。
有宝石可以帮助你。即 cocoon
and a great railscast: episode 403.
不幸的是这是一个专业的剧集,但投资 9 美元是非常值得的,因为 railscasts 确实是灵感的源泉(至少对我而言)。
我假设,您已经拥有或创建了关联:
rails generate migration AddClientReferenceToAddress client:references
rake db:migrate
在模型中:
class Client < ActiveRecord::Base
has_many :addresses
end
class Address < ActiveRecord::Base
belongs_to :client
end