【发布时间】:2020-03-16 13:14:07
【问题描述】:
我有一个 Rails 应用程序,我正在尝试使用 jquery select2 添加一个 ruby 选择标记,选择 2 工作得非常好。但我希望如果用户重新访问该页面,它应该向他们显示他们之前选择的值。
这是我的代码
view.html.erb 文件
<% if @select2_values.present? %>
<%= select_tag "select2_name", options_for_select(@select2_values.map { |obj| [obj[:text], obj[:id]] }), multiple: true, class: "form-control select2", id: "resultOf_select2" %>
<% else %>
<%= select_tag "select2_name", options_for_select([]), multiple: true, class: "form-control select2", id: "resultOf_select2" %>
<% end %>
当我将binding.pry 放入 if 语句中时,它会正确地停在那里,而且当我检查控制台时,@select2_values 数组看起来像这样
[{ :id 1, :text "some text" },
{ :id 2, :text "some text" },
{ :id 3, :text "some text" },
]
如果我删除multiple : true 选项,它会正确显示@select2_values 数组的第一个值。有人可以帮我弄清楚如何使用multiple:true 选项显示所有值
任何帮助表示赞赏,在此先感谢
【问题讨论】:
标签: jquery ruby-on-rails ruby-on-rails-5 jquery-select2