2011-05-03 3 views
0

J'ai une formeRuby on Rails: Comment utiliser select?

<% form_for(@xyz) do |f| %> 
    <%= f.error_messages %> 
     <%= f.label :name %> 
     <%= f.text_field :name %> 


     <%= f.label :description %> 
     <%= f.text_field :description %> 

     <%= f.label :type %> 
    <%= f.select :type, XYZ::ALL_TYPES %> 
    <% end %> 

I ajouté attribut « metric_type » à cette forme et je veux l'utiliser, mais de ce formulaire. J'ai constante dans le fichier modèle AXY = "axy" BXY = "bxy" CXY = "CXY" ALL_METRICS_TYPE = [AXY, BXY, CXY]

Comment puis-je utiliser ci-dessus comme une chute vers le bas

Metrics type:

Merci,

Répondre

0

Je vous suggère d'utiliser la méthode suivante en général:

1) Selon vous:

<%= your_form_variable.select(: type, Your_model:: ALL_METRICS_TYPE, {:include_blank => 'Please select'}) %> 

2) dans votre modèle:

ALL_METRICS_TYPE = [["value which will passed and stored in db", 'what you want to display in the dropdown'], [...]] 

EDIT:

Pour l'utiliser en dehors d'un formulaire, utilisez l'assistant de sélection brut décrit ici: http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html

select("foo", "bar", Your_model:: ALL_METRICS_TYPE, {:include_blank => true}) 
+0

Merci, je sais cela mais j'ai un cas différent. Je dois utiliser <% select %> après la portée de form_for, je dirai après <% end% >. – user659068

+0

Qu'est-ce que foo et bar sont ici ...? – user659068

+0

:) regardez le lien, ils vont créer le nom de votre balise html sélectionner – apneadiving