Jquery Rails单选按钮:根据模型/数据库条目设置默认值

Jquery Rails单选按钮:根据模型/数据库条目设置默认值,jquery,ruby-on-rails,coffeescript,radio-button,default-value,Jquery,Ruby On Rails,Coffeescript,Radio Button,Default Value,我是Rails新手,一直在努力解决这个问题,但没有成功。我有一个表单供用户通过单选按钮提交多项选择题的答案,我希望他们选择的答案在重新访问问题或重新加载页面时再次显示。他们的答案通过TestQuestions模型存储在数据库的答案id列中。下面的代码使最后一个单选按钮被选中,而不是它们的给定答案,关于如何从数据库中将默认值设置为它们的答案,有什么建议吗 根据我下面的评论,我认为这可能需要jQuery/javascript来比较HTMLIE中的输入值- <input id="answer_i

我是Rails新手,一直在努力解决这个问题,但没有成功。我有一个表单供用户通过单选按钮提交多项选择题的答案,我希望他们选择的答案在重新访问问题或重新加载页面时再次显示。他们的答案通过TestQuestions模型存储在数据库的答案id列中。下面的代码使最后一个单选按钮被选中,而不是它们的给定答案,关于如何从数据库中将默认值设置为它们的答案,有什么建议吗

根据我下面的评论,我认为这可能需要jQuery/javascript来比较HTMLIE中的输入值-

<input id="answer_id_5" type="radio" value ="5" name="answer_id"></input> 

你应该这样做:

<%= radio_button_tag "answer_id", answer.id, checked: @test_question.answer_id == answer.id %>
将返回
true
false
,从而选中或取消选中单选按钮


@test\u question.answer\u id
返回一个大于0的整数,这是一个真实值,表示您正在检查所有单选按钮。因为只能选中一个单选按钮,所以它将是最后一个。

太好了,这有助于我前进,谢谢你,米沙。现在的问题是代码正在比较一个数据库值和另一个数据库值@如果用户正确回答了问题,test_question.answer_id==answer.id始终为true,因此“checked”始终为true。如果他们回答不正确,“checked”总是错误的。我需要以某种方式访问输入单选按钮值。例如,从中获取值并将其与数据库进行比较。我不确定,但我认为这可能需要jQuery/javascript。如何存储正确答案?数据库中还有哪些字段。请将该信息添加到您的问题中,如果没有它,则无法回答。好的,因此我将布尔表达式放在单选按钮标记上方以检查值,在这种情况下,它返回正确的序列(false、true、false),因此代码应该可以工作,但按钮仍然没有被标记。真奇怪。好了,现在它工作了。重新启动计算机。是工作代码。谢谢米莎。
def show
  @test_question = @test_questions.find(params[:id])
end
<%= radio_button_tag "answer_id", answer.id, checked: @test_question.answer_id == answer.id %>
@test_question.answer_id == answer.id