Rails 4: text_field for acts_as_taggable_on not separating tags with a comma
acts-as-taggable-on, ruby-on-rails
Solution
Apparently this is a new security feature.
I solved the comma separation issue by doing:
<% @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, :placeholder => "Comma-separated list of #{tag.to_s}", class: 'form-control' %>
</div>
<% end %>
Problem
I am trying to get the text_field in my form partial to comma-separate acts_as_taggable_on tags. Right now, when I reload the page, the commas disappear so if a field has two or more tags, they become one big tag instead. For instance, I get "Tag1 Tag2 Tag3" instead of "Tag1, Tag2, Tag3". I am using acts-as-taggable-on 3.4.2. Here is my _form.html.erb partial: ``` <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 %> ``` Every time I reload the edit page, the input value somehow removes the commas from the already-present tags, so the text field looks like this: ``` <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"> ``` instead of having `value="China, U.S.A."` as it should be. Here is my model, article.rb: ``` class Article < ActiveRecord::Base acts_as_taggable_on :people, :cities, :countries, :other end ``` Any help would be much appreciated :) Thanks!