Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用rails还原select2 4.0.3的保存/初始值_Ruby On Rails_Ajax_Coffeescript_Select2 - Fatal编程技术网

Ruby on rails 使用rails还原select2 4.0.3的保存/初始值

Ruby on rails 使用rails还原select2 4.0.3的保存/初始值,ruby-on-rails,ajax,coffeescript,select2,Ruby On Rails,Ajax,Coffeescript,Select2,我正在使用select2版本4.0.3 下面是我使用selecttagrails助手的html <%= f.select(:hotel_id, [], {}, :class => 'select2-autocomplete' ) %> 以前它使用initSelection来选择3.5.3版的select2,但是4.0.3版有一些变化,我确实读了,但是仍然没有好的结果 我的问题是,当用户编辑页面时,我需要还原以前的选择值并显示它。最后,在下面的一些尝试和错误之后,如何使用se

我正在使用select2版本4.0.3

下面是我使用selecttagrails助手的html

<%= f.select(:hotel_id, [], {},  :class => 'select2-autocomplete' ) %>
以前它使用initSelection来选择3.5.3版的select2,但是4.0.3版有一些变化,我确实读了,但是仍然没有好的结果


我的问题是,当用户编辑页面时,我需要还原以前的选择值并显示它。

最后,在下面的一些尝试和错误之后,如何使用select2版本4还原该值,它可能不干净,但可以工作

<% if f.object.persisted? && f.object.hotel_id  %>
  <% if f.object.hotel_id > 0 %>
    <% value = f.object.hotel_id  %>
    <% text  = Hotel.find(value).name %>
  <% end %>
<% end %>
<%= f.select(:hotel_id, options_for_select([["#{text}", value.to_s]]),  {selected: value},  :class => 'select2-autocomplete' ) %>

0 %>
“选择2自动完成”)%%>
关键的答案是底线

  • 使用f.select
  • 使用选项\u为\u选择生成选项
  • 确保该选项使用字符串value.to\s
  • 在选项下使用{selected:value}
希望它能帮助其他使用select2和ajax搜索的rails用户

<% if f.object.persisted? && f.object.hotel_id  %>
  <% if f.object.hotel_id > 0 %>
    <% value = f.object.hotel_id  %>
    <% text  = Hotel.find(value).name %>
  <% end %>
<% end %>
<%= f.select(:hotel_id, options_for_select([["#{text}", value.to_s]]),  {selected: value},  :class => 'select2-autocomplete' ) %>