Подавить возвращаемое значение замыкания в файле ruby ​​на rails erb - PullRequest
0 голосов
/ 04 марта 2011

У меня есть простой шаблон erb, который извлекает информацию из Git-репозитория. Он отображает информацию просто отлично, но он также отображает возвращаемое значение замыкания, которое является массивом коммитов, через которые я перебираю. Я нашел похожий вопрос здесь , но решение не меняет мой вывод вообще.

#controller method for home
def home
  @repo = Repo.new("/home/matt/gitrepo")
end

#home.html.erb
<%= @repo.commits[1..3].each do |commit| %>
  <%= content_tag(:div, "#{commit.author}", :class=>"author") %>
<% end %>

вывод страницы

Matt Phillips
Matt Phillips
Matt Phillips
[#<Grit::Commit "e761477be972855b0c4273c1c7837baa25178210">, #<Grit::Commit "18140c17632fae7dbf33cdd5e372f96ebe8104de">, #<Grit::Commit "f7e8ee090bb3e8259627179287d1722c328b614f">]

Как я могу подавить массив?

РЕДАКТИРОВАТЬ: Вот как это выглядит в irb

ruby-1.9.2-p180 :011 > include Grit
=> Object  
ruby-1.9.2-p180 :012 > @repo = Repo.new("/home/matt/gitrepo")
=> #<Grit::Repo "/home/matt/gitrepo/.git"> 
ruby-1.9.2-p180 :013 > @repo.commits[1..3].each do |commit|
ruby-1.9.2-p180 :014 >     puts commit.author
ruby-1.9.2-p180 :015?>   end
Matt Phillips
Owen Johnson
Matt Phillips
=> [#<Grit::Commit "e761477be972855b0c4273c1c7837baa25178210">, #<Grit::Commit  
"18140c17632fae7dbf33cdd5e372f96ebe8104de">, #<Grit::Commit  
"f7e8ee090bb3e8259627179287d1722c328b614f">] 
ruby-1.9.2-p180 :016 > 

Ответы [ 2 ]

1 голос
/ 04 марта 2011

Изменить это

<%= @repo.commits[1..3].each do |commit| %>

к этому

<%- @repo.commits[1..3].each do |commit| %>

0 голосов
/ 05 марта 2011

был в конце, прежде чем я понял, что = был там

<% = и <% - оба указывают, что мы выводим результаты содержимого выражения Ruby. В случае каждого вашего блока результатом является массив. </p>

Изменить на:

<% @repo.commits[1..3].each... %>

Это говорит нам не выводить ничего

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