2017-02-08 21 views
0

У меня есть довольно простой файл ERB, который проходит через базу данных и выплескивает данные, отформатированные для Bootstrap, специфичные для определенных пользователей. Все выглядит великолепно, но в конце после всех divs он включает в себя вывод, который выглядит так, как если бы вы использовали консоль для фильтрации для элементов с тем же user_id.Информация о базе данных, включенная на страницу из файла ERB

Мне кажется, что я просто пропустил что-то простое, но я не могу его найти. Кроме того, оператор else корректно выводит, если я уничтожу все сделки для данного пользователя.

файл

<% if @user.deals.any? %> 
    <%= @deals.each do |deal| %> 
     <div class="row"> 
      <div class="col col-xs-12"> 
       <%= deal.headline %> 
      </div> 
     </div> 
     <div class="row"> 
      <div class="col col-xs-3"> 
       <%= deal.client %> 
      </div> 
      <% if deal.matter? %> 
       <div class="col-xs-3"> 
        <%= deal.matter %> 
       </div> 
      <% end %> 
      <% if deal.summary? %> 
       <div class="col-xs-6"> 
        <%= deal.summary %> 
       </div> 
      <% end %> 
     </div> 
    <% end %> 
<% else %> 
    <div class="row"> 
     <div class="col col-xs-12"> 
      <h4>Add your first deal to see a list here!</h4> 
     </div> 
    </div> 
<% end %> 

дополнительный выход после строк данных

[#<Deal id: 18, client: "Headline and client only", matter: "", summary: "", user_id: 2, created_at: "2017-02-08 15:09:28", updated_at: "2017-02-08 15:09:28", headline: "Healine and client only">, #<Deal id: 17, client: "First client", matter: "First matter", summary: "First summary", user_id: 2, created_at: "2017-02-08 15:07:45", updated_at: "2017-02-08 15:07:45", headline: "First headline">] 

ответ

1

Вместо

<%= @deals.each do |deal| %> 

использования

<% @deals.each do |deal| %> 

уведомление = пошел

См What is the difference between <%, <%=, <%# and -%> in ERB in Rails? для получения дополнительной информации ;-)

+0

работ, спасибо! Спасибо также за ссылку, это хорошая информация :) Мне любопытно, почему это получилось правильно, но с выходом консоли? – oneWorkingHeadphone

+1

Потому что он запускает блок, но также выводит то, что возвращается .each (и поскольку он позволяет вам цепочки методов, он возвращает @deals), см. Здесь: http://paste.ubuntu.com/23954994/ - вы можете попробуйте его в irb, просто выберите любой массив, сделайте каждый и посмотрите, какие методы вернутся. – mswiszcz