多选数据不显示
Multiple selected data doesn't appear
我对多个 select 使用 select2。我的问题是,我可以从 json 数据中 select 多个值,并且可以将此数据保存在相关模型列中。但是当我想更新这个模型时,select编辑的数据没有出现。
我的部分 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 class(它不是从 ActiveRecord 继承的,只是一个 class,它有一些 return 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
});
当我 select 多个值并保存我的模型时,该列的值如下所示:
> Period.last
=> #<Period:0x007fcf53a4d830
id: 25,
...
moodle_connect_ids: "[\"\", \"85\", \"120\"]"
...
我走错了吗?你有什么建议吗?
我已经想出如何解决这个问题了。
我在 f.input 中添加了选定的选项:
selected: @period.moodle_connect_ids? ? JSON.parse(@period.moodle_connect_ids).map(&:to_i) : []
输入的最后状态:
<%= f.input :moodle_connect_ids, collection: Moodle.categories.map {|p| [ p['name'], p['id'] ] }, input_html: {multiple: true}, selected: @period.moodle_connect_ids? ? @period.moodle_connect_ids.map(&:to_i) : [] %>
我对多个 select 使用 select2。我的问题是,我可以从 json 数据中 select 多个值,并且可以将此数据保存在相关模型列中。但是当我想更新这个模型时,select编辑的数据没有出现。
我的部分 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 class(它不是从 ActiveRecord 继承的,只是一个 class,它有一些 return 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
});
当我 select 多个值并保存我的模型时,该列的值如下所示:
> Period.last
=> #<Period:0x007fcf53a4d830
id: 25,
...
moodle_connect_ids: "[\"\", \"85\", \"120\"]"
...
我走错了吗?你有什么建议吗?
我已经想出如何解决这个问题了。
我在 f.input 中添加了选定的选项:
selected: @period.moodle_connect_ids? ? JSON.parse(@period.moodle_connect_ids).map(&:to_i) : []
输入的最后状态:
<%= f.input :moodle_connect_ids, collection: Moodle.categories.map {|p| [ p['name'], p['id'] ] }, input_html: {multiple: true}, selected: @period.moodle_connect_ids? ? @period.moodle_connect_ids.map(&:to_i) : [] %>