首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery Tokeninput & Acts-as-taggable不适用于父-子-子嵌套表单

Jquery Tokeninput & Acts-as-taggable不适用于父-子-子嵌套表单
EN

Stack Overflow用户
提问于 2011-07-17 15:31:43
回答 1查看 409关注 0票数 0

我的表单是这样构建的:

代码语言:javascript
复制
<%= 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 bug吗?还有谁要处理这件事?

ProductsController:

代码语言:javascript
复制
def new
    @location = Location.new
    product_date = @location.product_dates.build
    product_date.products.build
end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-17 15:38:15

您只是没有将@product变量设置为=>,而是设置为nil

你应该展示你的控制器

编辑:

替换:

代码语言:javascript
复制
<%= p.text_field :tag_list,"data-pre" => @product.tags.map(&:attributes).to_json %>

通过以下方式:

代码语言:javascript
复制
<%= p.text_field :tag_list,"data-pre" => p.object.tags.map(&:attributes).to_json %>

这也应该适用于edit

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6722518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档