Je deviens fou ici.Impossible de sauvegarder collection_select à l'objet
J'ai:
class Course
belongs_to :commune
end
et
class Commune
has_many :courses
end
Dans la nouvelle vue pour le cours que j'ai un menu déroulant où l'utilisateur sélectionne la commune:
f.collection_select(:commune, get_commune_list, :id, :commune, { :prompt => true })
(Le get_commune_list est une méthode d'aide qui renvoie une liste d'objets Commune)
Mais lorsque je tente de sauver je soit obtenir cette erreur:
Commune(#2176182100) expected, got String(#2148246520)
ou la Commune n'a pas été sauvegardé sur l'objet du cours du tout.
Les paramètres ressemblent à ceci:
{"course"=>{"price"=>"6000",
"title"=>"Some title",
"commune"=>"10",
...
}
Je ne peux "figure † pourquoi cela ne fonctionnera pas!
Si je fais cela, j'obtiens "méthode non définie' fusionner "pour: commune: Symbole". Si j'utilise f.collection_select (: commune_id, get_commune_list,: id,: commune, {: prompt => true}), j'obtiens une méthode non définie 'commune_id 'pour #. –
fiskeben
Vous essayez de faire quelque chose comme f.select ("commune_id", Commune.all.collect {| c | [c.name, c.id]}, {: prompt => true}) – AMIT
Soupir ... j'ai oublié pour ajouter commune_id à la base de données. Encore dix heures quatre bien dépensées. Merci pour votre réponse. Puisque vous me laissez sur la bonne voie, je vais l'accepter. – fiskeben