如何阻止此属性数组显示在我的视图中?

How to stop this array of attributes from showing in my view?

我有一个恼人的问题,我的视图一直显示对象属性的数组!我的子菜单假设以树形形式显示类别,这有效,但它也显示了这个烦人的数组!

[ <#Category id: 26, title: "subtest", description: "a test within a test, testception", created_at: "2015-03-01 03:15:29", updated_at: "2015-03-03 01:08:09", ancestry: "6/24">]

[ <#Category id: 24, title: "Test", description: "No not be alarmed, this is only a test.", created_at: "2015-03-01 02:06:35", updated_at: "2015-03-03 01:07:52", ancestry: "6">]

我绝对不希望用户看到这个。我该如何摆脱它??

Show.html.erb 视图:

<div id="submenu">
  <%= render 'submenu_cats', categories: @category.root.children %>
</div>

_submenu 部分猫:

<ul>
  <%= categories.each do |category| %>
    <li>
        <%= link_to_unless_current category.title, category_path %>
        <%= render 'submenu_cats', categories: category.children if category.children.present? %>
    </li>
  <% end %>

使用:Rails 4.2,Ruby 2.1.5,祖先 Gem

不要使用...

<%= categories.each do |category| %>

使用

<% categories.each do |category| %>

当您使用 <%= 时,您正在输出表达式的结果。 categories.each的结果是categories,正在输出的数组。你不想输出它,所以使用<%计算Ruby而不输出结果。

你使用的是<%= %>,这意味着你输出的是Ruby代码的结果,而不是使用<% %>来执行括号内的ruby代码。

所以改变

<%= categories.each do |category| %>

<% categories.each do |category| %>

希望对您有所帮助。 :)