Rails 4:actions_as_taggable_on的text_field没有用逗号分隔标签

我试图让我的表单中的text_field部分以逗号分隔acts_as_taggable_on标签。 现在,当我重新加载页面时,逗号消失,所以如果一个字段有两个或更多标签,它们就会成为一个大标签。 例如,我得到“Tag1 Tag2 Tag3”而不是“Tag1,Tag2,Tag3”。 我在3.4.2上使用act-as-taggable-。

这是我的_form.html.erb部分:

Tags:

Please separate the tags with a comma ','


"Comma-separated list of #{tag.to_s}", class: 'form-control' %>

每次重新加载编辑页面时,输入值都会以某种方式从已存在的标记中删除逗号,因此文本字段如下所示:

  

而不是value="China, USA"应该是。

这是我的模型, article.rb

 class Article < ActiveRecord::Base acts_as_taggable_on :people, :cities, :countries, :other end 

任何帮助将非常感激 :)

谢谢!

显然这是一个新的安全function 。

我通过这样做解决了逗号分离问题:

 <% @article.tag_types.each do |tag| %> 
<%= f.label tag.to_s.titleize %>
<% tag_sym = "#{tag.to_s.singularize}_list".to_sym %> <% tag_list = "#{tag.to_s.singularize}_list" %> <%= f.text_field tag_sym, value: @article.send(tag_list).to_s, :placeholder => "Comma-separated list of #{tag.to_s}", class: 'form-control' %>
<% end %>

谢谢! 由于我使用ActiveAdmin与Formtastic,我做了一个自定义输入。

所以我创建了一个新类:app / inputs / tag_list_input.rb:

 class TagListInput < Formtastic::Inputs::StringInput def input_html_options super.merge(:value => "#{@object.send(method).to_s.html_safe}") end end 

使用它像:

 f.input :some_tag_list, :as => :tag_list, :label => "SomeTags"