Ruby on Rails 3. Каждая проблема - PullRequest
7 голосов
/ 04 августа 2011

Я в некотором роде новичок в Ruby on Rails и хорошо учусь, но, похоже, столкнулся с проблемой, которую не могу решить.

Запуск Rails 3.0.9 и Ruby1.9.2

Я выполняю следующий оператор в моем представлении:

<%= @events.each do |f| %>
    <%= f.name %><%= link_to "View", event_path(f) %><br/><hr/>
<% end %>

И это в моем контроллере:

class AdminController < ApplicationController
  def flyers
    @events = Event.all
  end
end

Это проходит через каждый иззаписывает и выводит соответствующее имя, но проблема в том, что в конце он отображает всю информацию для всех записей, например, так:

    [#<User id: 1, username: "test account", email: "test@gmail.com", password_hash:    "$2a$10$Rxwgy.0ZEOb0lMGEIliPBeB/jPSp8roeKdbMvXcLi32R...", password_salt: "$2a$10$Rxwgy.0ZEOb0lMGEIliPBe", created_at: 2111359287.2303703, updated_at: 2111359287.2303703, isadmin: true>]

Я новичок в этом сайте, поэтому яне уверен, что вам нужны какие-либо подробности, но любая помощь приветствуется, в конце концов, я все еще учусь.

Заранее спасибо.

Ответы [ 2 ]

13 голосов
/ 04 августа 2011

Вы должны использовать <%, а не <%= для своей строки .each, поэтому

<%= @events.each do |f| %>

должно быть

<% @events.each do |f| %>
9 голосов
/ 04 августа 2011

.each возвращает весь массив в конце после завершения цикла. <%= ... %> выводит значение устава, которое является значением, возвращаемым .each <% ... %> нет. Итак, вы хотите:

<% @events.each do |f| %>
    <%= f.name %><%= link_to "View", event_path(f) %><br/><hr/>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...