Я использую жемчужину select2-rails и хотел бы получить 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, как указано в документах. Добавлена //= require select2
строка в application.js и *= require select2
с *= require select2-bootstrap
в application.scss.
UPDATE:
после Prashant Ravi Даршан предложение, похоже Выбор2 начал работать, хотя и с ошибками. Теперь это два беспорядочных полей для выбора художника
эй! который заставил select2 работать, хотя с некоторыми икотами. Я добавил скриншот в OP. любая идея, о чем этот беспорядок? – sivanes
вы можете исправить проблему ширины, указав ширину: 100%, чтобы выбрать тег. –
@sivanes Есть три подхода, которыми вы можете следовать. Я не уверен на 100%, но попробую с ними. 1- удалить html: {class: "nifty_form"} from form_for tag 2 - удалить все js и css из приложения. но содержат только ниже application.css * = require_self * = требуют bootstrap.min * = требуется Выбор2 * = требуется Выбор2-самозагрузки в application.js // = требует JQuery // = требуется jquery_ujs // = требуется bootstrap.min // = require select2 –