有人可以告诉我这段代码有什么问题吗?
我得到无法将符号转换为整数 提取的来源(第5行):
3: <% form_for @song_request do |f| %>
4: <p>Please select the event you are attending:</p>
5: <%= select_tag('song_requests', 'event_id', Event.all.collect {|e| [e.name, e.id ] } ) %>
6: <% end %>
答案 0 :(得分:2)
collection_select
会做你想要的并且读得更好:
<%= f.collection_select :event_id, Event.all, :id, :name %>
答案 1 :(得分:1)
好的我同意idlefingers你必须在这里使用collection_select方法(虽然它必须阅读<%= f.collection_select :event_id, Event.all, :name, :id %>
)但你也可以选择使用select方法
<%= f.select :event_id, options_for_select(Event.all.collect{|e| [e.name,e.id]})
您必须注意,将表单字段包装在form_for
块中时,最好不要使用* _tag方法。这就是使用form_for
在迭代器中携带对象@song_request
的全部意义:)