2015-03-03 3 views
0

У меня есть раздражающая проблема, когда в моем представлении отображается массив атрибутов моего объекта! Мое подменю должно показывать категории в древовидной форме, которая работает, но также показывает этот раздражающий массив!Как остановить отображение этого массива атрибутов в моем представлении?

[< #category ID: 26, название: "подтест", описание: "испытание в испытательной, testception", created_at: "2015-03-01 3:15:29", updated_at: " 2015-03-03 01:08:09 ", происхождение:" 6/24 ">]

[< # Категория категории: 24, название:« Тест », описание:« Нет, не волнуйтесь, это только тест ». created_at:« 2015-03-01 02:06:35 », updated_at:« 2015-03-03 01:07:52 », происхождение:« 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

ответ

0

Дон 't использовать ...

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

Использование

<% categories.each do |category| %> 

При использовании <%=, вы выводите результат выражения. Результатом categories.each является categories, массив, который выводится. Вы не хотите выводить его, поэтому используйте команду <% для оценки Ruby без вывода результатов.

+0

Удивительный! Ответ был настолько очевидным, ха-ха, спасибо! – nvrpicurnose

1

Вы используете <%= %>, что означает, что вы выводите результаты кода Ruby, вместо этого используйте <% %> для выполнения рубинового кода в скобках.

Меняет

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

К

<% categories.each do |category| %> 

Надежда этой помощи. :)

 Смежные вопросы

  • Нет связанных вопросов^_^