Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rails-显示时的参数在tag.scope上充当可标记的_Ruby On Rails_Ruby_Form For_Strong Parameters_Acts As Taggable On - Fatal编程技术网

Ruby on rails rails-显示时的参数在tag.scope上充当可标记的

Ruby on rails rails-显示时的参数在tag.scope上充当可标记的,ruby-on-rails,ruby,form-for,strong-parameters,acts-as-taggable-on,Ruby On Rails,Ruby,Form For,Strong Parameters,Acts As Taggable On,因此,我有一个Post模型,其作用是作为标记和标记模型,其中我定义了一个范围预定义标记,称为“categories”,设置为true,如下所示: class Post < ActiveRecord::Base acts_as_taggable end class Tag < ActiveRecord::Base scope :categories, -> { where(categories: true) } end 现在,我想显示一个表单,其中我的用户可以选择至少

因此,我有一个Post模型,其作用是作为标记和标记模型,其中我定义了一个范围预定义标记,称为“categories”,设置为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个预定义的标记,我将它们植入标记表,并将它们的类别设置为true

当用户添加他们自己的标记时,或者如果他们的标记已经存在,它可以很好地用于普通标记,只会更新标记计数,但我的预定义标记不会保存/更新计数

在日志中,参数仅显示tag_list=>tag1,其中tag1是用户输入的标记,但未获取tag.category selected Travel(已选择的tag.category Travel),该Travel已播种到tag表中,因此不会更新Travel的tag_计数

我环顾四周,但找不到有效的答案,哦,我是RoR初学者


我在3.4和Rails 4.2上使用了acts作为标记。你知道了吗?我也在努力弄清楚如何强制使用预定义的标记