Question

My problem is that I have, for example, Product, Category and ProductCategory. ProductCategory makes possible for a Product have several Categories

I would like to implement this using Select2 (http://ivaynberg.github.io/select2/) using the select2-rails gem (https://github.com/argerim/select2-rails)

I already know how to relate the models but I can't figure out how to implement the Select2 specific code.

EDIT: Now I see that my problem was not much about select2, so I added this comment and changed the title hoping that it can help somebody else

Était-ce utile?

La solution

Now I see that my problems were not about select2 but to do a multi select.

The code in the _form.html.erb that make it work is this one:

<%= 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} %>

I also included :category_ids in the attr_accessible on models/product.rb

And the select2 specific, I included in a .js file

$(document).ready(function() { 
  $('#product_category_ids').select2();
});

I'm including these links as they helped me but pay attention on the differences depending on the Ruby/Rails versions

Just to let you know, unexpectedly, if this collection_select is the last line in my form, some form fields are disabled although there is nothing that states this in the source. Changing the order this problem doesn't exist.

I also don't know why the look is a little different than the other fields (I'm using Bootstrap 3)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top