ruby-on-rails – Rails 4:text_field for acts_as_taggable_on不用逗号分隔标签

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

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

<h2>Tags:</h2>
<p>Please separate the tags with a comma ','</p>

<% @article.tag_types.each do |tag| %>
  <div class="form-group">
    <strong><%= label_tag tag.to_s.titleize %></strong><br />
    <%= f.text_field "#{tag.to_s.singularize}_list".to_sym,:placeholder => "Comma-separated list of #{tag.to_s}",class: 'form-control' %>
  </div>
<% end %>

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

<input id="article_country_list" class="form-control" type="text" name="article[country_list]" value="China U.S.A." placeholder="Comma-separated list of countries">

而不是有价值=“中国,美国.”应该如此.

这是我的模型,article.rb:

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

任何帮助将非常感激 :)

谢谢!

解决方法

显然这是一个 new security feature.

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

<% @article.tag_types.each do |tag| %>
<div class="form-group">
  <strong><%= f.label tag.to_s.titleize %></strong><br />
  <% 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,class: 'form-control' %>
</div>
<% end %>

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...