使用f.select时为什么会出现语法错误?

时间:2014-05-29 12:37:19

标签: ruby-on-rails

这是我的代码:

<%= f.select :question, :part_number, :options_for_select => ([1..5]), options = { :include_blank => true } %>

我一直收到这个错误:

  

语法错误,意外')',期待tASSOC ... = {:include_blank   =&GT; true})。to_s); @ output_buffer.concat ...

2 个答案:

答案 0 :(得分:2)

有时Rails文档可能会有点混乱,但如果您在select块中使用form_for @question表单帮助器,则不要指定该对象。因此,您的代码需要更改为

<%= form_for @question do |f| %>
  ...
  <%= f.select :part_number, options_for_select((1..5)), include_blank: true %>
  ...
<% end %>

答案 1 :(得分:1)

好吧,因为我使用select而不是collection_select,所以不需要指定对象(:question)。

所以对于遇到这个问题的人来说,这就是解决方案:

<%= f.select :part_number, (1..5), { :include_blank => true } %>