我的模型中有以下代码:
Class Farm < ActiveRecord::Base
has_many :farm_products, :dependent => :destroy
has_many :products, :through => :farm_products
accepts_nested_attributes_for :farm_products
end
class Product < ActiveRecord::Base
has_many :farm_products, :dependent => :destroy
has_many :farms, :through => :farm_products
end
class FarmProduct < ActiveRecord::Base
belongs_to :farm
belongs_to :product
end
我有一个表单来创建一个新的农场,我想创建farm_products与这个表单。我的farm_products表不仅可以包含外键字段。如何通过Javascript和/或JQuery添加或删除嵌套列?
乌利希期刊指南。我发现了一个很棒的宝石nested_forms做我想要的!下面是我的视图
中的代码= nested_form_for @farm, :html => { :multipart => true } do |f|
= f.fields_for :farm_products do |fp|
-#fields goes here
= fp.link_to_remove 'Remove this task'
= fp.link_to_add "Add a task", :farm_products
但是得到一个错误,说
undefined method `klass' for nil:NilClass
我的人际关系可能有问题,但我找不到问题。
link_to_add
需要在fields_for
块之外,在f
对象上调用,而不是在fp
对象上调用。