Ruby on rails 以简单的形式集成select2

Ruby on rails 以简单的形式集成select2,ruby-on-rails,simple-form,jquery-select2,Ruby On Rails,Simple Form,Jquery Select2,我在表单上使用select2。但我们希望在整个应用程序中使用它 我的application.html.erb中有此部分 <script type="text/javascript"> $(document).ready(function() { <%= yield :document_ready %> }); </script> $(文档).ready(函数(){ }); 我认为: <% content_for :document_

我在表单上使用select2。但我们希望在整个应用程序中使用它

我的application.html.erb中有此部分

<script type="text/javascript">
  $(document).ready(function() {
    <%= yield :document_ready %>
  });
</script>

$(文档).ready(函数(){
});
我认为:

<% content_for :document_ready do %>
  $("#menu_category_id").select2({minimumResultsForSearch: 10});
<% end %>

$(“#menu#u category_id”)。选择2({minimumResultsForSearch:10});
这是视图中的实际输入:

<%= f.input :menu_category_id, :collection => @product.menu.menu_categories, 
  :label_method => :name, :value_method => :id, :label => "Category" %>
@product.menu.menu\u类别,
:label\u method=>:name,:value\u method=>:id,:label=>“Category”%>
这项工作没有任何问题。但是,我不想在所有视图中重复这一点,我想用simple_视图来处理这一点

最好是,如果我使用:

<%= f.input :menu_category_id, :collection => @product.menu.menu_categories, 
:label_method => :name, :value_method => :id, :label => "Category", 
:select2 => 'minimumResultsForSearch: 10' %>
@product.menu.menu\u类别,
:label\u method=>:name,:value\u method=>:id,:label=>“Category”,
:select2=>'搜索的最小结果:10'>
它会自动将其放入:document\u ready部分。因此,如果一个页面上有3个选项,它将使用:select2中指定的所有选项对所有选项进行选择


自定义输入是否可以实现这一点?或者任何其他方式?

我认为您不需要自定义输入,也不需要这里的帮助者的内容。将CSS类分配给所需的输入
select2
,例如使用_select2。接下来,为他们分配一个数据属性,指定
minimumResultsForSearch
值,比如
data minimum results
。在
document.ready
上,然后使用class
和_select2
循环所有输入,并使用数据属性中的
minimumResultsForSearch
调用
select2

谢谢,如果minimumResultsForSearch可以更改为许多不同的选项,这的确不错。有时,您会将ajax url和所有内容放在其中,这样您就不想在CSS中使用它。如果您需要为select2方法指定另一个值,您只需向输入中添加另一个数据属性。CSS类保持不变。啊哈,太好了,明天就要试用了。明白了,它叫做“不引人注目的JavaScript”,你可以在上面找到更多