ruby-on-rails ruby simple-form

Ruby on Rails 4-simple_form entrada de selección múltiple



ruby-on-rails simple-form (3)

Para crear múltiples etiquetas de selección con simple_form , use:

<%= f.association :particular_users, collection: @all_users, input_html: { class: ''multiselectuser''} %>

Ver parte Associations en la descripción de la gema .

Pero como no quiere usar una asociación ActiveRecord, use select_tag :

<%= select_tag ''particular_users'', options_from_collection_for_select(@all_users, :id, :name), multiple: true, class: ''multiselectuser'' %>

Tengo un campo de entrada simple_form que se ve así:

<%= f.input :particular_users, collection: @all_users, input_html: { class: ''multiselectuser'', multiple: true} %>

Cuando salgo de multiple: true off, el formulario envía el valor elegido para el parámetro: particular_users y puedo ver el valor al depurar usando "raise params.inspect". Sin embargo, cuando dejo la opción multiple: true allí, no se pasan valores para el parámetro: particular_users.

¿Qué estoy haciendo mal?

EDIT: No puedo usar la entrada de asociación porque: particular_users es un atributo virtual y no tiene relación. Quiero que el cuadro de selección múltiple pase cualquier valor que esté allí, incluso si son arbitrarios.


Realmente funciona de la manera que yo quería. El truco es decir los parámetros fuertes para permitir un hash. No arroja un fuerte error de parámetros, el parámetro simplemente se desecha y no se cumple. Así que lo puse como ejemplo: params.require (: survey) .permit (: particular_users => []).


f.input :days, collection: @your_collection, input_html: { multiple: true }