将 select2 的倍数 select 插入 rails' form_for
inserting select2's multiple select into rails' form_for
我正在使用 select2-rails gem 并希望 select2 在我的多个 select 字段上工作 artist_ids
就像在 this all-js example 中一样。这是我的 erb 文件现在的样子。添加js脚本没有产生任何效果,表单仍然以相同的方式加载。
<%= form_for @event, url: {action: "create"}, html: {class: "nifty_form"} do |f| %>
<%= f.text_field :name %><br />
<%= f.datetime_select :date %><br />
<%= f.text_area :description, size: "60x12" %><br />
<%= f.select(
:venue_id,
options_from_collection_for_select(Venue.all, "id", "name")
) %>
<%= f.collection_select :artist_ids, Artist.all, :id, :name, {:selected => @event.artist_ids, include_blank: true}, {multiple: true} %>
<br />
<%= f.submit "Create" %><br />
<% content_for :js do %>
<script type="text/javascript">
$(document).ready(function() {
$('#event_artist_ids').select2();
});
</script>
<% end %>
<% end %>
我按照文档中的说明按照所有常规步骤添加 select2。在 application.js 和 *= require select2
中添加了 //= require select2
行,*= require select2-bootstrap
到 application.scss。
更新:
根据 Prashant Ravi Darshan 的建议,select2 似乎已开始工作,但存在错误。现在是 select 艺术家
的两个混乱字段
似乎在 Whosebug 上工作的 Select2 的每个示例都是通过 simple_form_for。有些人表达了 form_for 不会工作的情绪,因为 select2 不接受 f.select...我花了几个小时弄清楚如何让我的工作和我打开的所有主题,我不不记得任何 form_for 的人都取得了成功,当人们切换到 simple_form_for 时他们就成功了。
请试试这个
<%= f.select(:artist_ids, Artist.all.collect {|a| [a.name, a.id]}, {}, id: "event_artist_ids", :multiple => true) %>
<script type="text/javascript">
$( "#event_artist_ids" ).select2();
</script>
我正在使用 select2-rails gem 并希望 select2 在我的多个 select 字段上工作 artist_ids
就像在 this all-js example 中一样。这是我的 erb 文件现在的样子。添加js脚本没有产生任何效果,表单仍然以相同的方式加载。
<%= form_for @event, url: {action: "create"}, html: {class: "nifty_form"} do |f| %>
<%= f.text_field :name %><br />
<%= f.datetime_select :date %><br />
<%= f.text_area :description, size: "60x12" %><br />
<%= f.select(
:venue_id,
options_from_collection_for_select(Venue.all, "id", "name")
) %>
<%= f.collection_select :artist_ids, Artist.all, :id, :name, {:selected => @event.artist_ids, include_blank: true}, {multiple: true} %>
<br />
<%= f.submit "Create" %><br />
<% content_for :js do %>
<script type="text/javascript">
$(document).ready(function() {
$('#event_artist_ids').select2();
});
</script>
<% end %>
<% end %>
我按照文档中的说明按照所有常规步骤添加 select2。在 application.js 和 *= require select2
中添加了 //= require select2
行,*= require select2-bootstrap
到 application.scss。
更新:
根据 Prashant Ravi Darshan 的建议,select2 似乎已开始工作,但存在错误。现在是 select 艺术家
的两个混乱字段似乎在 Whosebug 上工作的 Select2 的每个示例都是通过 simple_form_for。有些人表达了 form_for 不会工作的情绪,因为 select2 不接受 f.select...我花了几个小时弄清楚如何让我的工作和我打开的所有主题,我不不记得任何 form_for 的人都取得了成功,当人们切换到 simple_form_for 时他们就成功了。
请试试这个
<%= f.select(:artist_ids, Artist.all.collect {|a| [a.name, a.id]}, {}, id: "event_artist_ids", :multiple => true) %>
<script type="text/javascript">
$( "#event_artist_ids" ).select2();
</script>