web-dev-qa-db-fra.com

rails, simple_form, comment définir l'index sélectionné d'une collection lors du chargement de la page?

J'utilise simple_form gem, j'ai une collection de pays, cela fonctionne bien lorsque je sélectionne le pays, et l'enregistrement mis à jour aura l'identifiant du pays stocké, mais, lorsque j'essaie de modifier l'enregistrement, le pays choisi n'est pas sélectionné par défaut à modifier le formulaire.

Voici le code au formulaire d'édition:

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

Simple_form ne devrait-il pas voir le pays sélectionné à partir de la base de données?

57
simo

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

:selected => selected_country_id

Alors,

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

Cela fonctionnera parfaitement !!!

À votre santé!

125
Manish Shrivastava

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

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

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

11
genkilabs