2010-05-12 4 views
0

Dans le formulaire de création d'un nouveau contact, je souhaite être en mesure de créer une liste déroulante permettant à l'utilisateur de sélectionner la campagne à laquelle le contact appartient.Comment créer un collection_select dans la vue d'un modèle qui appartient à un autre?

Dans le contrôleur, j'ai créé une collection appelée @campaigns.

Et j'ai essayé d'utiliser ce qui suit, mais ne pas avoir à travailler:

<p> 
    <%= f.label :campaign_id %><br /> 
    <%= f.collection_select(:contact, :campaign_id, @campaigns, :id, :name) %> 
    </p> 

Fondamentalement, je veux afficher la mise à disposition: nom des campagnes, puis soumettre le campaign_id associé à la campagne sélectionnée pour le modèle Contact lorsqu'il est enregistré.

+0

quelle erreur avez-vous obtenu? – fl00r

Répondre

0

On dirait que vous avez un attribut excès

essayer cette

<p> 
    <%= f.label :campaign_id %><br /> 
    <%= f.collection_select :campaign_id, @campaigns, :id, :name %> 
</p> 
+0

laissez-moi essayer ceci - les documents ont montré un cinquième qui était confus .... – Angela

+0

le cinquième est 'f':' f.collection_select'. en fait, il est d'abord – fl00r

+0

ok donc en gros: campaign_id représente l'attribut pour le modèle de la forme donnée,: id est la valeur, et: le nom est l'affichage html .... gotcha, merci – Angela

Questions connexes