Ruby on Rails form_for带有类的select字段

时间:2010-11-02 20:42:00

标签: ruby-on-rails

我在这个人的头上撞墙。我想使用f.select标签创建一个简单的选择标记,但我没有做任何工作。我在下面举了一个例子:

<%= f.select(:object_field, ['Item 1', 'Item 2', 'Item 3', 'Item 4', 'Item 4'], :class => 'my_style_class')%>

好的,所以基本上它是一个简单的列表,一旦提交表单,它就会将值放入object_field。这一切都有效,但查看页面源代码不包括类标记。它不会抛出错误,它只是一起跳过它。

如果有人有任何建议我会非常感激。

4 个答案:

答案 0 :(得分:419)

尝试这种方式:

<%= f.select(:object_field, ['Item 1', ...], {}, { :class => 'my_style_class' }) %>

select helper有两个选项哈希值,一个用于select,第二个用于html选项。所以你需要的是在项目列表之后将默认的空选项作为第一个参数,然后将你的类添加到html_options

http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-select

答案 1 :(得分:18)

你也可以像这样添加提示选项。

<%= f.select(:object_field, ['Item 1', 'Item 2'], {include_blank: "Select something"}, { :class => 'my_style_class' }) %>

答案 2 :(得分:12)

这项工作对我来说

$sth = $dbh->prepare("SELECT TO_CHAR(net_total,'99.99') FROM order_totals WHERE order_no = $id");

答案 3 :(得分:2)

你可以在这里看到: http://apidock.com/rails/ActionView/Helpers/FormBuilder/select

或者在这里:http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/select

选择标签有最大4个agrument,最后一个agrument是html选项,它意味着你可以在这里放置class,require,selection选项。

= f.select :sms_category_id, @sms_category_collect, {}, {class: 'form-control', required: true, selected: @set}