Ruby on Rails 3.每个都有问题

Amz*_*pan 7 hash ruby-on-rails ruby-on-rails-3

我是Ruby on Rails的新手,并且学习得很好,但似乎遇到了一个我似乎无法解决的问题.

运行Rails 3.0.9和Ruby 1.9.2

我在我的视图中运行以下语句:

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

这在我的控制器中:

class AdminController < ApplicationController
  def flyers
    @events = Event.all
  end
end
Run Code Online (Sandbox Code Playgroud)

这会遍历每个记录并输出相应的名称,但问题是最后它会显示所有记录的所有信息,如下所示:

    [#<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>]
Run Code Online (Sandbox Code Playgroud)

我是这个网站的新手,所以我不确定你是否需要更多的细节,但毕竟我还在学习任何帮助.

提前致谢.

Dyl*_*kow 13

你应该使用<%,而不是<%=你的.each线路,所以

<%= @events.each do |f| %>
Run Code Online (Sandbox Code Playgroud)

应该

<% @events.each do |f| %>
Run Code Online (Sandbox Code Playgroud)


Oli*_*ves 9

.each完成循环后,返回整个数组. <%= ... %>打印出statment的值,即返回的值.each <% ... %>不是.所以你要:

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