2016-08-08 2 views
0

Я использую шаблоны html.erb и bootstrap. При создании сообщения я выбираю несколько вариантов из окна выбора и сохраняю эти значения в базе данных в виде массива, потому что я использую параметр serialize :column_name в моем модель. он работает до сих пор. но когда я пытаюсь отредактировать сообщение, выберите значение поля donot repopulate. Я попытался следующие вариантыRepopulate Multiple select Box - Ruby On Rails

Моя выберите поле в _form.html.erb

<%= form_for(@post , url: { action: @definded_action }) do |f| %> 
<%= f.select :skills, options_from_collection_for_select(@skills , :id,:title), {}, id: "sel1" ,class: "form-control selectpicker" , multiple: true%> 
<% end %> 

, когда я отладки в функции редактирования, где я извлечения навыков, он показывает мне

@post.skills = ["1","2","3","4"] 

в функции редактирования, где я получаю его из базы данных, я пробовал это

@post.skills = @post.skills.map(:&to_i) 

, но не успех. любая помощь будет принята с благодарностью :) -

ответ

0

Вы можете попробовать следующее, его же, как вы, за исключением его collection_select:

<%= f.collection_select :skills, @skills, :id, :title, {selected: @post.skills.map(:&to_i)}, { multiple: true, id: "sel1", class: "form-control selectpicker", placeholder: "Select Skill."} %>