我正在使用select2-rails gem,並希望select2在我的多個選擇字段上工作,artist_ids
就像它在this all-js example中一樣。這是我的erb文件現在的樣子。添加js腳本沒有產生任何效果,表單仍然以相同的方式加載。將select2的多個選擇插入rails'form_for
<%= 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。
UPDATE:
PRASHANT拉維達山建議後,它看起來像選擇2已經開始工作,但有錯誤。現在它是由兩個凌亂字段選擇藝術家
嘿!雖然有一些打嗝,但是select2可以工作。我在OP中添加了屏幕截圖。任何想法是什麼混亂是關於? – sivanes
您可以通過給出寬度:100%來選擇標記來修復寬度問題。 –
@sivanes 有三種方法可以遵循。我不是100%確定,但嘗試與他們。 1-從form_for標記中刪除html:{class:「nifty_form」} 2 - 從應用程序中刪除所有js和css。但僅包含以下 application.css * = require_self * =需要bootstrap.min * =需要SELECT2 * =需要SELECT2的自舉 中的application.js // =要求的jquery // =需要jquery_ujs // =需要bootstrap.min // =需要select2 –