2015-08-26 27 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