如何在Rails中生成此选择标记?

时间:2013-02-09 08:13:03

标签: ruby-on-rails ruby-on-rails-3

我想要产生这个:

<select class="input-small">
   <option value="1">1+ bd</option>
   <option value="2">2+ bd</option>
   <option value="3">3+ bd</option>
   <option value ="4">4+ bd</option>
   <option value ="5">PH</option>
</select>

我试过了:

<%= f.collection_select :num_bedrooms, ["1+ br", "2+ br", "3+ br", "4+ br", "PH"], [1, 2, 3, 4, 5], {}, {:class => "input-small"} %>

但是这给了我这个:

TypeError at /    
Message {} is not a symbol

如何使用集合选择生成选择标记?

感谢。

修改1:

这是@ shrimpsushi回答的结果:

<select id="search_num_bedrooms" name="search[num_bedrooms]"><option value="<option value="1">1+ bd</option>
<option value="2">2+ bd</option>
<option value="3">3+ bd</option>
<option value="4">4+ bd</option>">collection</option>
<option value="input_html" class="input-small">input_html</option></select>  

请注意第4个选项后的奇怪"> collection</option>标记。更不用说应用了类的input_html选项值。

1 个答案:

答案 0 :(得分:2)

<%= f.select :num_bedrooms, options_for_select({"1+ br" => 1, "2+ br" => 2}), {}, class: 'input-small' %>