我正在开展测验应用,我无法使用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”]]`是 不是符号
为什么会这样?
答案 0 :(得分: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) %>
...其中id
和name
是来自Test.all
的任何实例的可调用属性。
来源:http://apidock.com/rails/v4.0.2/ActionView/Helpers/FormOptionsHelper/collection_radio_buttons