我正在开发一个项目,目前正在处理其中一个视图,这是一个不同类别的页面。一切都正确呈现,但它也将db信息放在页面中。
以下是我的观点代码
help
这是a的链接 screenshot of rendered page
答案 0 :(得分:2)
是的,修复是:
<div class="categories">
<div class="container blurbs">
<div class="cards row">
<% @categories.each do |c| %>
<div class="card col-xs-4" %>
<%= image_tag c.image, :class => "cat" %>
<h4 class="title"><%= c.title %></h4>
</div>
<% end %>
</div>
</div>
</div>
看看我从=
移除了<%=
..在下面一行:
<% @categories.each do |c| %>
#each
方法在完成迭代后返回集合。由于此<%=
,each
的返回值为@categories
。但是,如果您仅使用<%..
,则会发生上述所有事情,但它不会打印回来@categories
。
答案 1 :(得分:2)
当您使用标签<%= ... %>
时,页面上会显示标签内的任何内容。在您当前的视图中,您有
<%= @categories.each do |c| %>
<div class="card col-xs-4" %>
<%= image_tag c.image, :class => "cat" %>
<h4 class="title"><%= c.title %></h4>
</div>
<% end %>
显示循环返回的全部内容,这是您获取显示的位置。将代码更改为<% @categories.each do |c| %>
,您就可以了。