没有在每个循环中获得第一个形式
not getting first form in each loop
我有这种类型的每个循环,形式为
<% @catagories.each do |cat| %>
<label>
Name:
<%= cat.name %>
</label>
<label>
Public
<%= form_for cat, :html => {:class => 'visible_in_activity_record'} do |f| %>
<%= f.check_box :visible_in_activity_record ,:'data-role'=>"none"%>
<% end %>
</label>
<% end %>
当我在浏览器中显示此结果时。
循环的第一个元素没有形式,之后所有元素都有形式
之后,我尝试在浏览器中从inspect元素添加代码和检查表单,但在浏览器中,我遇到了同样的问题,即我在循环的第一个元素中看不到表单。
如果有人遇到这种问题,请帮我解决。
谢谢。
如果您在控制器中为类别调用build
或new
,则第一个或最后一个将为零。
你可以通过在呈现表单之前检查新记录来解决这个问题,比如:
<% @catagories.each do |cat| %>
<%- unless cat.new_record? %>
<label>
Name:
<%= cat.name %>
</label>
<div class='label-style'>
Public
<%= form_for cat, :html => {:class => 'visible_in_activity_record'} do |f| %>
<%= f.check_box :visible_in_activity_record ,:'data-role'=>"none"%>
<% end %>
</div>
<% end %>
<% end %>
此外,如果您感兴趣,将整个表单放在label
字段中是无效的html,最好创建一个具有相同样式和行为并带有标签的div。
相关文章:
- Handlebars访问第一个项目,然后访问后面的每个项目(在每个循环中)
- 如何返回与 javascript 中循环的其余部分不同的第一个循环
- Nodejs async.each 等待第一个循环
- 第一个元素和最后一个元素之间的连续循环
- 如何循环遍历表行,更改类,并使用"n〃;行数,并知道每行中第一个单元格的值
- 没有在每个循环中获得第一个形式
- 循环通过表格查找第一个具有 CSS CSSstablelisttdselect 的 TD 文本
- 为什么不't此循环返回到第一个索引
- jQuery:如何在不使用每个循环的情况下显示数组的第一个元素
- 如何删除 FOR EACH 循环中的第一个和最后一个值
- 如何在 Jquery/Javascript 中选择预定义选择的第一个和最后一个元素而不循环
- For 循环不迭代,输出的数据不超过第一个任务
- For-in 循环遍历对象在第一个键后停止
- jQuery animate 循环卡在第一个循环中
- 第一个循环不起作用
- 我如何编写一个 Javascript for 循环,以便在满足第一个条件时中断
- 文件上传获胜't触发以下循环(第一个循环除外)
- 第一个循环在第二个循环开始时停止
- 我怎样才能在不让第一个循环循环到第二个循环的情况下嵌套for循环呢?
- 在第一个循环之前初始化计数器