Как реализовать множественный выбор в независимой таблице в Rails?
Моя проблема в том, что у меня есть, например, Product, Category и ProductCategory. ProductCategory позволяет продукту иметь несколько категорий
Я хотел бы реализовать это, используя Select2 ( http://ivaynberg.github.io/select2/), используя гем select2-rails ( https://github.com/argerim/select2-rails)
Я уже знаю, как соотносить модели, но не могу понять, как реализовать специальный код Select2.
РЕДАКТИРОВАТЬ: Теперь я вижу, что моя проблема была не очень о select2, поэтому я добавил этот комментарий и изменил название, надеясь, что это может помочь кому-то еще
1 ответ
Теперь я вижу, что мои проблемы были не в select2, а в множественном выборе.
Вот код в _form.html.erb, который заставляет его работать:
<%= f.label :category_id %>
<%= f.collection_select :category_ids, Category.order(:name), :id, :name, {:selected => @product.category_ids, :include_blank => true}, {:class => 'col-xs-12 col-md-7 padding_15', :multiple => true} %>
Я также включил :category_ids
в attr_accessible
на моделях / product.rb
И конкретный select2, я включил в файл.js
$(document).ready(function() {
$('#product_category_ids').select2();
});
Я включил эти ссылки, поскольку они помогли мне, но обратите внимание на различия в зависимости от версий Ruby/Rails
- http://www.dzone.com/snippets/using-mutiple-collection
- http://www.alethe.com/brad/2009/10/multiple-select-list-in-rails/
Просто, чтобы неожиданно сообщить вам, если этот collection_select является последней строкой в моей форме, некоторые поля формы отключены, хотя в источнике нет ничего, что бы указывало на это. При изменении порядка эта проблема не существует.
Я также не знаю, почему внешний вид немного отличается от других полей (я использую Bootstrap 3)