【发布时间】:2017-02-05 19:14:45
【问题描述】:
我正在创建简单的测验应用程序。到目前为止,我已经实现了允许创建嵌套表单的 Cocoon gem。一切都很好,除了我想将一些变量传递给 Cocoon 部分。
问题:我可以毫无问题地发送静态值,但我想传递在 Jquery 中计算的动态值。
我的代码:
index.html.erb
<%= link_to_add_association 'Pievienot atbildi', f, :answers,render_options: {locals: { question_id: 'Holmes' }}, :class=>"btn btn-default" %>
<script type="text/javascript">
var n = $( ".reg_input_question" ).length;
alert(n);
</script>
_answer_fields.html.erb
<%= f.radio_button :correct_one, false, :checked => false, :name=> question_id %>
<%= link_to_remove_association "Dzēst atbildi", f , :class=>"btn btn-default text-danger"%>
我想将 n 变量从 index.html.erb 页面发送到 _answers_fields 部分。我可以发送静态值“Holmes”,但我不知道如何发送
使用脚本将 {locals: { question_id: 'Holmes' }} 值设置为其他值。
我发现 Great example 可以使用常规部分处理,但由于我使用的是 Cocoon 部分处理,因此无法像该示例中那样操作。
我想要达到的目标:
我有 3 个嵌套模型测试、问答。首先,我正在创建问题:
<%= link_to_add_association "Pievienot jautājumu", f, :questions, :class=>"btn btn-default" %>
创建问题后,我可以使用上面的代码创建答案。部分答案由答案文本和 correct_one 布尔值组成。我正在使用 radio_button 允许从新创建的答案中只选择一个作为正确的答案。
问题:当我创建多个问题时,他们的答案共享相同的单选按钮名称“Holmes”。当用户为第一个问题选择正确答案然后单击第二个问题答案时,会导致问题,以前的选择被清除。
我想要这样:
1. Question
<%= f.radio_button :correct_one, false, :checked => false, :name=> 1 %>
<%= f.radio_button :correct_one, false, :checked => false, :name=> 1 %>
2. Question
<%= f.radio_button :correct_one, false, :checked => false, :name=> 2 %>
<%= f.radio_button :correct_one, false, :checked => false, :name=> 2 %>
目前我有这样的:
1. Question
<%= f.radio_button :correct_one, false, :checked => false, :name=> "Holmes" %>
<%= f.radio_button :correct_one, false, :checked => false, :name=> "Holmes" %>
2. Question
<%= f.radio_button :correct_one, false, :checked => false, :name=> "Holmes" %>
<%= f.radio_button :correct_one, false, :checked => false, :name=> "Holmes" %>
提前感谢您的帮助。
【问题讨论】:
-
我认为您需要一个复选框。单选按钮将允许您为同一字段指定不同的值(并且只选择一个)。您想指出答案是否正确,因此您必须为每个答案保存一个值,不是吗?我得到单选按钮确保您自动取消选择其他值,但在这种情况下,它不会正确保存到数据库中。我认为您需要这样的东西:stackoverflow.com/questions/2947569/…
标签: javascript jquery ruby-on-rails ruby cocoon-gem