2010-06-23 11 views
2

J'essaie de sortir certains formulaires, mais j'ai des problèmes, car HAML ne commande pas correctement les options de mes éléments de sélection.HAML select helper ne commande pas correctement les options

Voici ma déclaration d'écho.

=select 'user', @empty_data, {"Less than $40k" => 1, "$40k - $70k" => 2, "$70k - $100k" => 3, "$100k+" => 4, "No Thanks" => 5 } 

Cependant, quand se rend le code HTML, les options ne sont pas dans l'ordre visible, et encore moins l'ordre que je les ai placés dans Y at-il quelque chose que je ne suis pas faire correctement?

Merci

Répondre

2

C'est parce que la liste des options est une liste de la liste. Pas Hash

=select 'user', @empty_data, [["Less than $40k", 1], ["$40k - $70k",2], ["$70k - $100k",3], ["$100k+",4], ["No Thanks",5]] 

Consultez la documentation de cette aide:

http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#M002302

+0

Pourquoi puis-je obtenir cette erreur? $ haml --version Haml 3.1.7 (Sally séparé) $ haml --trace test.haml out.html test.haml: dans 'select ': type d'argument incorrect String (matrice attendue) (TypeError) \t de test.haml: 14: dans 'to_html ' \t de /usr/lib/ruby/gems/1.8/gems/haml-3.1.7/bin/../lib/haml/engine.rb:181: dans 'to_html ' \t à partir de /usr/lib/ruby/gems/1.8/gems/haml-3.1.7/bin/../lib/haml/engine.rb:181:in' instance_eval' \t à partir de/usr /lib/ruby/gems/1.8/gems/haml-3.1.7/bin/../lib/haml/engine.rb:181:in 'to_html ' ... –