Как реализовать множественный выбор в независимой таблице в 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

Просто, чтобы неожиданно сообщить вам, если этот collection_select является последней строкой в ​​моей форме, некоторые поля формы отключены, хотя в источнике нет ничего, что бы указывало на это. При изменении порядка эта проблема не существует.

Я также не знаю, почему внешний вид немного отличается от других полей (я использую Bootstrap 3)

Другие вопросы по тегам