所以,我有一个Post模型,其中包含可标记和标记模型,我在其中定义了一个范围预定义的标签,称为“类别”。如此设置为true:
class Post < ActiveRecord::Base
acts_as_taggable
end
class Tag < ActiveRecord::Base
scope :categories, -> { where(categories: true) }
end
我现在想要显示一个表单,我的用户可以选择至少一个和最多三个预定义标签(Tag.categories),我的字段表格如下:
<%= f.label :tags, 'Categories' %>
<% Tag.categories.each do |tag| %>
<%= check_box_tag "post[tag_list][]", tag.name, @post.tag_list.include?(tag.name) %>
<%= tag.name %>
<% end %>
<%= f.label :tags %>
<%= f.text_field :tag_list %>
我的想法是,我希望我的用户最多选择3个预定义标签(类别),同时根据需要添加多少个标签。我有10个预定义的标签,我将它们播种到Tag表并将其类别设置为true。
它适用于普通标签(当用户添加自己的标签时,或者如果标签已经存在,只会更新taggings_count),但我的预定义标签不会保存/更新计数。
在日志中,参数仅显示"tag_list"=>"tag1"
,其中tag1是用户输入的标签,但未选择tag.category&#34; Travel&#34;它被播种到Tag表中,因此没有更新&#34; Travel&#34;的tagging_count。
我环顾四周但却找不到合适的答案哦 - 我是一名RoR初学者。
我在3.4上使用act作为taggable,使用Rails 4.2。