Jquery 在Rails 4中的编辑方法上设置复选框
假设我在new.html.erb中有一个表单,其中包含一些复选框、选择标记和其他文本字段。假设我创建了一条记录(选中一个或多个复选框并选择一些内容),并成功地将其保存到DB。 当我转到edit.html.erb(它应该编辑此记录)时,我遇到以下情况: 1) 所有文本_字段都用我要编辑的记录的值填充(确定) 2) 但复选框均未选中(不确定) 3) 选择标记中未选择任何内容(不确定) 所以第二点和第三点是有问题的。 编辑记录时如何填充复选框并选择标记 我的例子是: 我有一个集合\u选择:Jquery 在Rails 4中的编辑方法上设置复选框,jquery,ruby-on-rails,checkbox,Jquery,Ruby On Rails,Checkbox,假设我在new.html.erb中有一个表单,其中包含一些复选框、选择标记和其他文本字段。假设我创建了一条记录(选中一个或多个复选框并选择一些内容),并成功地将其保存到DB。 当我转到edit.html.erb(它应该编辑此记录)时,我遇到以下情况: 1) 所有文本_字段都用我要编辑的记录的值填充(确定) 2) 但复选框均未选中(不确定) 3) 选择标记中未选择任何内容(不确定) 所以第二点和第三点是有问题的。 编辑记录时如何填充复选框并选择标记 我的例子是: 我有一个集合\u选择: “typ
“types”}%>
对于复选框,check\u box\u tag
允许第三个参数,即是否选中。因此,我们可以简单地检查对象是否已经具有该stype。使用您将表单绑定到的对象会更容易,但由于您没有发布完整表单,我看不出这是什么。因此,您可以将f.object
更改为@post
或它绑定到的任何内容
<% @stypes.each do |stype| %>
<span class="sub_type_cbox">
<%= check_box_tag 'stype_ids[]', stype.id, f.object.stype_ids.include?(stype.id) %>
<%= stype.subTypeName %>
</span>
<br>
<% end %>
对于复选框,
check\u box\u tag
允许第三个参数,即是否选中。因此,我们可以简单地检查对象是否已经具有该stype。使用您将表单绑定到的对象会更容易,但由于您没有发布完整表单,我看不出这是什么。因此,您可以将f.object
更改为@post
或它绑定到的任何内容
<% @stypes.each do |stype| %>
<span class="sub_type_cbox">
<%= check_box_tag 'stype_ids[]', stype.id, f.object.stype_ids.include?(stype.id) %>
<%= stype.subTypeName %>
</span>
<br>
<% end %>
对于复选框,
check\u box\u tag
允许第三个参数,即是否选中。因此,我们可以简单地检查对象是否已经具有该stype。使用您将表单绑定到的对象会更容易,但由于您没有发布完整表单,我看不出这是什么。因此,您可以将f.object
更改为@post
或它绑定到的任何内容
<% @stypes.each do |stype| %>
<span class="sub_type_cbox">
<%= check_box_tag 'stype_ids[]', stype.id, f.object.stype_ids.include?(stype.id) %>
<%= stype.subTypeName %>
</span>
<br>
<% end %>
对于复选框,
check\u box\u tag
允许第三个参数,即是否选中。因此,我们可以简单地检查对象是否已经具有该stype。使用您将表单绑定到的对象会更容易,但由于您没有发布完整表单,我看不出这是什么。因此,您可以将f.object
更改为@post
或它绑定到的任何内容
<% @stypes.each do |stype| %>
<span class="sub_type_cbox">
<%= check_box_tag 'stype_ids[]', stype.id, f.object.stype_ids.include?(stype.id) %>
<%= stype.subTypeName %>
</span>
<br>
<% end %>
你能显示你的表单代码吗。@japed,我编辑了我的posttry这个复选框,'stype[stype_ids][]'>@djrock,谢谢,它帮助了我。@djrock,哦,不,它不起作用,实际上它会选中复选框,不管db中的值是多少。你能显示你的表单代码吗。@japed,我编辑了我的posttry这个复选框,'stype[stype_ids][]]>@djjrock,谢谢,它帮助了我。@djrock,哦,不,它不起作用,实际上它会选中复选框,而不管db中的值是多少。你能显示你的表单代码吗。@japed,我编辑了我的帖子,尝试了这个复选框,'stype[stype_id][]'>@djrock,谢谢,它帮助了我。@djrock,哦,不,它不起作用,实际上,无论db中的值如何,它都会选中复选框。你能显示你的表单代码吗。@japed,我编辑了我的posttry复选框'stype[stype_ids][]'>@djrock,谢谢,它帮助了我。@djrock,哦,不,它不起作用,实际上它会选中复选框,无论db中的值如何。collection\u select工作正常。但复选框仍然未选中。谢谢您的解决方案。但是我必须通过(stype.id)这样的-->(“{stype.id}”)。在控制台中玩过之后,我发现传球(“1”)与传球(“1”)不同。我想它可以区分string和int。collection\u select可以很好地工作。但复选框仍然未选中。谢谢您的解决方案。但是我必须通过(stype.id)这样的-->(“{stype.id}”)。在控制台中玩过之后,我发现传球(“1”)与传球(“1”)不同。我想它可以区分string和int。collection\u select可以很好地工作。但复选框仍然未选中。谢谢您的解决方案。但是我必须通过(stype.id)这样的-->(“{stype.id}”)。在控制台中玩过之后,我发现传球(“1”)与传球(“1”)不同。我想它可以区分string和int。collection\u select可以很好地工作。但复选框仍然未选中。谢谢您的解决方案。但是我必须通过(stype.id)这样的-->(“{stype.id}”)。在控制台中玩过之后,我发现传球(“1”)与传球(“1”)不同。我想它可以区分string和int。