如何正确使用form_for f.select构建器?

时间:2013-05-31 04:19:26

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

我正在尝试创建一个表单,我似乎无法弄清楚如何正确使用f.select表单标记,我只是想让你的基本:

<select name='whatever[whatever]'>
    <option value='blah'>Blah</option>
    <option value='blah2'>Blah2</option>
</select>

另外,我如何在它们上设置类,什么不是,谢谢!

尝试用谷歌搜索一堆东西,

'How to use the form_for f.select builder properly'
'Rails 3 use f.select properly'
'Rails 3 add class to f.select'

2 个答案:

答案 0 :(得分:4)

假设你有类似的东西

<%= select(:person, :city_id, [['Lisbon', 1], ['Madrid', 2], ...]) %>

控制器:

@person = Person.new(:city_id => 2)

请注意,第三个参数options数组与传递给options_for_select的参数类型相同。这里的一个优点是,如果用户已有一个城市,您不必担心预先选择正确的城市--Rails将通过阅读@ person.city_id属性为您执行此操作。

与其他帮助程序一样,如果要在作用于@person对象的表单构建器上使用select帮助程序,则语法为:

选择表单构建器

<%= f.select(:city_id, ...) %>

我认为这对你有帮助

答案 1 :(得分:1)

关于这个主题的博客文章提供了几个例子

http://www.fmhcc.com.au/ruby/rails/using-collection_select-in-rails/