【问题标题】:acts_as_taggable_on using multiple tagsact_as_taggable_on 使用多个标签
【发布时间】:2015-11-01 20:22:23
【问题描述】:

我有一个模型:

class Cakes < ActiveRecord::Base
  acts_as_taggable 
  acts_as_taggable_on :itens, :types
end

然后我有一个表格可以像文档所说的那样单独编写它,例如:

<%= f.text_field :itens_list, value: @news.itens_list.join(', ') %>

<%= f.text_field :types_list, value: @news.types_list.join(', ') %>

但是当我这样做时,我总是得到错误:undefined method 'itens_list' 和/或undefined method 'types_list'

我查看了文档并得到了一个类似我上面代码的示例。但我想我错过了一些东西。 如何使用 gem 创建、编写和读取标签的不同上下文?

谢谢!

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 tags gem acts-as-taggable-on


    【解决方案1】:

    如图here所示,您需要使用单数形式的标签,例如types,您将使用type_list而不是types_list

    <%= f.text_field :iten_list, value: @news.iten_list.join(', ') %>
    
    <%= f.text_field :type_list, value: @news.type_list.join(', ') %>
    

    【讨论】:

    • 我收到错误:未经许可的参数:types_list。然后我在 "params.require" :types_list 添加到控制器并得到错误 "unknown attribute 'types_list' for News。"
    • 将 :types 放入控制器的 params.require 中,tje 错误消失了,但日志显示:ActsAsTaggableOn::Tag Load (0.2ms) SELECT "tags".* FROM "tags" INNER JOIN “标签”在“标签”上。“id”=“标签”。“tag_id”在哪里“标签”。“taggable_id”=? AND "标记"."taggable_type" = ? AND (taggings.context = 'types' AND taggings.tagger_id IS NULL) [["taggable_id", 1], ["taggable_type", "New"]]
    • 应该是type_list,而不是types_list
    • 现在好像可以了,但是编辑帖子时表单不加载索引的标签
    • 将所有内容更改为单数时,再次获得 tagger_id IS NULL
    猜你喜欢
    • 2012-09-05
    • 1970-01-01
    • 2011-10-05
    • 1970-01-01
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多