57 votes

Rails, simple_form, comment définir l'index sélectionné d'une collection lorsque la page est chargée?

Je suis en train d'utiliser la gemme simple_form, j'ai une collection de pays, cela fonctionne bien lorsque je sélectionne le pays, et l'enregistrement mis à jour aura l'id du pays stocké, mais lorsque j'essaie de modifier l'enregistrement, le pays choisi n'est pas sélectionné par défaut dans le formulaire de modification.

Voici le code dans le formulaire de modification:

= f.input :country_id, :collection => all_countries

Est-ce que simple_form ne devrait pas afficher le pays sélectionné à partir de la base de données ?

128voto

Manish Shrivastava Points 4380

Avez-vous essayé d'utiliser l'option :selected => ?

:selected => selected_country_id

Donc,

= f.input :country_id, :collection => all_countries, :selected => selected_country_id

Cela fonctionnera parfaitement !!!

Santé!

12voto

genkilabs Points 1565

Je sais que cela a déjà été répondu, mais je suis venu ici chercher une solution similaire pour une collection de cases à cocher. Pour la postérité, voici comment vous faites :

<%= f.input :country_ids, :as => :check_boxes, :collection => [['USA', :USA], ['Japon', :JPN]], :checked => [:JPN], :include_hidden => false %>

J'espère que cela aidera quelqu'un.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X