选中单选按钮时,将提交整个表单。answers_controller(下面)确实更新了结果,所以一切都正常,但我在控制台中收到了前面提到的错误。我意识到,在我的update_result.js.erb(下面)中,没有为@answers变量分配任何内容,但我无法对其传递值的方式进行调整。
answers_controller:
def update_result
params[:answer].each_pair do |key,value|
@ans = Answer.find(key.to_i)
@ans.update_attributes(:score => value)
end
end
update_result.js.erb:
$("#answers").html("<%=escape_javascript(render(@answers)) %>");
谢谢!
像这样更改操作:
def update_result
@answers = []
params[:answer].each_pair do |key,value|
ans = Answer.find(key.to_i)
ans.update_attributes(:score => value)
@answers << ans
end
end
更改update_result.js.erb如下:
$("#answers").html("#{escape_javascript(render(@answers))}");