Jquery Tokeninput& Acts-as-taggable不能与父子子嵌套表单一起使用

时间:2011-07-17 07:31:43

标签: ruby-on-rails ruby-on-rails-3 autocomplete acts-as-taggable-on

我的表格是这样构建的:

<%= form_for @location do |f| %>
<%= f.fields_for :product_dates do |d| %>
<%= d.fields_for :products |p| %>
<%= p.text_field :tag_list,"data-pre" => @product.tags.map(&:attributes).to_json %>

现在当我转到页面时,我在使用"data-pre" => @product.tags.map(&:attributes).to_json行时遇到错误,undefined method tags for nil:NilClass但是当我把它带走时一切都很好。这种类型的TokenInput错误?其他人不得不处理这个?

的ProductsController:

def new
    @location = Location.new
    product_date = @location.product_dates.build
    product_date.products.build
end

1 个答案:

答案 0 :(得分:2)

您根本没有设置@product变量=&gt;它是nil

您应该显示您的控制器

编辑:

取代:

<%= p.text_field :tag_list,"data-pre" => @product.tags.map(&:attributes).to_json %>

使用:

<%= p.text_field :tag_list,"data-pre" => p.object.tags.map(&:attributes).to_json %>

这也适用于edit

这里真的很有道理:你不能调用你没有设置的东西。