2015-08-26 29 views
0

我正在測驗應用程序,我不能使用collection_radio_buttons答案選擇。我有一個測試表。'收集單選按鈕不是符號'錯誤紅寶石

`Question = test.question`, `choice A = test.answerA` and so on. 

<%= 
collection_radio_buttons(:test, test[:id], Test.all, :id, [[test.answerA], [test.answerB], [test.answerC], [test.answerD]], {}) 
%> 

但是,這是給我的錯誤:

[["A) rasmiy"], ["B) ilmiy"], ["C) so'zlashuv"], ["D) badiiy"]]` is not a symbol

這究竟是爲什麼?

+0

嘗試:'collection_radio_buttons(:測試,:爲test_id,Test.all,:ID,[test.answerA,test.answerB,test.answerC,test.answerD],{}) ' –

+0

不幸的是,它沒有幫助,Marc-Alexandre Berube。 :(((錯誤保持不變!) –

+0

什麼是Test.all? – mysmallidea

回答

0

collection_radio_buttons的第五個參數是要在您的集合上調用的text_method。您正在通過此參數傳遞數組。錯誤消息... is not a symbol告訴你,你通過該參數傳遞的值是一個數組,但它期望一個符號。

的方法定義collection_radio_buttons是:

collection_radio_buttons(object, method, collection, value_method, text_method, options = {}, html_options = {}, &block) 

你可能想是這樣的:

<%= collection_radio_buttons(:test, test_id, Test.all, :id, :name) %> 

...其中idname上任何實例調用屬性出來的Test.all

來源:http://apidock.com/rails/v4.0.2/ActionView/Helpers/FormOptionsHelper/collection_radio_buttons

+0

該數組是我的答案選項,我該如何傳遞它們?或者它不可能? –

+0

將您的選項集合通過第三個參數'collection',這是你當前擁有'Test.all'的地方。你有沒有閱讀過文檔? – mysmallidea