Я использую select2 для множественного выбора. Моя проблема в том, что я могу выбрать несколько значений из json-данных, и я могу сохранить эти данные в соответствующих столбцах модели. Но когда я хочу обновить эту модель, выбранные данные не отображаются.Несколько выбранных данных не отображаются
некоторая часть моих данных JSon:
{
- categories:[
- {
id:7,
name:"Eğitim Bilimleri Enstitüsü"
},
- {
id: 8,
name: "Eğitim Yönetim Teftişi ve Planlaması 1. Yarıyıl"
},
...
]
}
У меня есть класс Moodle (это не наследство от ActiveRecord, просто класс, и у него есть некоторые функции, которые возвращают данные в формате JSON). Мне интересно, правильно ли он подходит.
в содержании моей формы:
<%= simple_form_for(@period) do |f| %>
...
<%= f.input :moodle_connect_ids, collection: Moodle.categories.map {|p| [ p['name'], p['id'] ] }, input_html: {multiple: true} %>
...
<% end %>
я явно установить moodle_connect_ids быть массивом в мой контроллер:
params.require(:period).permit(..., :moodle_connect_ids => [])
в содержании моего файла .js:
$("#period_moodle_connect_ids").select2({
placeholder: "Moodle Dönem Bağlantılarını Seçiniz",
multiple: true,
allowClear: true
});
Когда я выбираю несколько значений и сохраняю свою модель, значение столбца выглядит так:
> Period.last
=> #<Period:0x007fcf53a4d830
id: 25,
...
moodle_connect_ids: "[\"\", \"85\", \"120\"]"
...
Неужели я ошибаюсь? У вас есть какие-то предложения?