Rails嵌套表单和依赖关系

时间:2015-12-19 20:34:19

标签: ruby-on-rails forms ruby-on-rails-4 foreign-keys scaffolding

我目前有一些模型,用户,客户,地址和联系人。

我使用scaffold创建了我的客户端模型,其中只包含name,leadsource和DBA。它目前工作正常。

我的地址和联系人是单独创建的,因为客户端可以有许多地址和联系人,他们需要client_id来建立关系。

假设我正在使用您的标准crud操作,有没有办法设置一个允许我一次添加所有3个的嵌套表单?

1 个答案:

答案 0 :(得分:1)

当然,标准方式是fields_for 但通常你也想动态添加和删除相关的对象(即地址),这有点高级。

有宝石可以帮到你。即cocoon和一个伟大的轨道广播:episode 403

不幸的是,这是一个专业插曲,但投资9美元非常值得,因为轨道广播确实是灵感的来源(至少对我而言)。

我假设您已经拥有关联或创建它们:

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