2011-02-07 54 views
1

任何人都可以告訴我這個代碼有什麼問題嗎?無法使用select_tag將符號轉換爲整數

我得到不能轉換成符號整數 提取的源(左右線#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 %> 
+1

您是否確定意味着'select_tag'不只是'select'?我有文檔表明,select_tag期望一個包含選項標籤的字符串,而不是一組選項。 select()另一方面看起來做你想要的。回來,如果你仍然有麻煩! – 2011-02-07 13:48:50

回答

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]}) 

你要注意,這是不使用* _tag方法,當你在一個form_for塊包裹表單字段的最佳實踐。這是使用form_for的整點,你在迭代器中攜帶@song_request對象:)

+0

完美就是我所需要的 – 2011-02-11 07:46:05

2

collection_select會做你想要什麼,並讀取要好得多:

<%= f.collection_select :event_id, Event.all, :id, :name %> 
+0

非常感謝,我不得不交換姓名和身份證號碼 – 2011-02-11 07:45:39

相關問題