Итеративное отображение объектов в Rails - PullRequest
0 голосов
/ 11 мая 2011

Я обнаружил, что когда я итеративно визуализирую коллекцию объектов, скажем, комментариев, rails также перечисляет адреса объектов. Например, мое мнение может содержать следующее:

<h3>Comments</h3>
<% if @blogpost.comments.any? %>
  <%= @blogpost.comments.each do |comment| %>
    <%= render :partial => "comment", :locals => {:comment => comment} %>
  <% end %>  
<% end %>

Вид часто показывает это:

<h3>Comments</h3> 
  <p>comment #2</p> 
  <p class="post-info"> >> Example User,  about 1 hour ago. </p> 

  <p>this is user 1's comment on user 5's article</p> 
  <p class="post-info"> >> Example User,  2 days ago. </p> 

#&lt;Comment:0xb6f91968&gt;#&lt;Comment:0xb6f9016c&gt;

Как вы можете видеть, есть несколько списков адресов для объектов, которые я предпочел бы не видеть в представлении. Есть ли способ подавить этот вывод? Заранее спасибо за ваше время!

Ответы [ 2 ]

3 голосов
/ 11 мая 2011

удалить = из <%= @blogpost.comments.each do |comment| %>

когда мы добавим = в <%%>, rails выполнит код erb и отобразит вывод в html.

0 голосов
/ 11 мая 2011

Кроме того, вам не нужен весь этот код.
Вы можете оставить только эти две строки для визуализации 'comment' частичного для @blogpost.comments коллекции:

<h3>Comments</h3>
<%= render @blogpost.comments %>

и Rails добьются цели.
http://api.rubyonrails.org/classes/ActionView/Partials.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...