在呈现HTML时,类不显示在Select元素上

时间:2016-10-27 15:34:08

标签: ruby-on-rails

当rails渲染此标记时,它不包括类

<%= f.collection_select(:native_language, Language.order('language ASC').all, :language, :language, class: "input_standard", :default => [Language.find_by(:language => "English")] ) %>

这是呈现的内容:

<select name="user[native_language]" id="user_native_language">
    <option value="English">English</option>
    <option value="French">French</option>
    <option value="Spanish">Spanish</option>
</select>

为什么课程没有出现?我尝试过上课:&#34; input_standard&#34;没有运气。

1 个答案:

答案 0 :(得分:0)

collection_select的Rails文档就是这个:collection_select(method, collection, value_method, text_method, options = {}, html_options = {})。如果你检查它会收到两个哈希值,第一个是options,第二个是html_options。第二个是您指定html元素将具有的class的那个。类似的东西:

<%= f.collection_select(:native_language, Language.order('language ASC').all, :language, :language, {}, {class: "input_standard", :default => [Language.find_by(:language => "English")]} ) %>

顺便说一句,您希望使用default选项完成什么?,那应该是prompt选项吗?

如果你想要的是prompt选项而不是default,那么你需要将prompt选项添加到第一个哈希。