Ruby on Rails:在我的select标签中使用带名字的数组获取未定义的方法

hel*_*llo 1 ruby ruby-on-rails

有人可以向我解释为什么我在day[]我的select标签中添加(数组)时会得到未定义的方法

<%= form_for [@hourable, @hour] do |f| %>
  <%= f.select 'day[]', options_for_select(days_hours) %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

但是当我这样的时候:day:

<%= form_for [@hourable, @hour] do |f| %>
  <%= f.select :day, options_for_select(days_hours) %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

它工作正常吗?

谢谢

rom*_*man 5

f.select帮助器中,第一个参数是要分配的属性.没有财产day[].你需要的是:multiple => true选项.所以,它看起来像:

f.select(:day, options_for_select(days_hours), {}, :multiple => true) 
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅文档