f.autocomplete_field:编辑表单中的tag_list

时间:2016-11-02 05:56:00

标签: ruby-on-rails jquery-ui-autocomplete

//= require jquery-ui/autocomplete
//= require autocomplete-rails

这是现有照片的编辑表单 现有代码(tag_list)。我正在使用actastaggable gem。

<%= simple_form_for @photo do |f| %>
  <%= f.label :tag_list, 'Tags (seperated by commas):', class: 'label-tags'%>
  <%= f.autocomplete_field :tag_list, autocomplete_tag_name_photos_path, :"data-delimiter" => ', ', 'data-auto-focus' => true, :id_element => '#tag_element', class: 'photo-edit-2' %>
  <%= f.submit 'Update'%>   
<% end %>

因此,如果用户修改带有现有标记_list sunday, dog, soda的照片,则该照片会在输入中显示为sunday dog soda 没有任何逗号分隔标记。我需要它以逗号分隔标签显示。

1 个答案:

答案 0 :(得分:0)

更新代码如下:

<%= f.autocomplete_field :tag_list, autocomplete_tag_name_photos_path, :"data-delimiter" => ', ', 'data-auto-focus' => true, :id_element => '#tag_element', class: 'photo-edit-2', :value => @photo.tags.map(&:name).join(', ') %> 

问题是默认值被设置为tag_list数组的值,但忽略了逗号。我们使用map方法按名称获取标记,然后使用join方法在每个名称之间放置逗号。