Ruby on Rails 3。每个都有问题

时间:2011-08-04 17:54:03

标签: ruby-on-rails ruby-on-rails-3 hash

我是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 %>

这在我的控制器中:

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 个答案:

答案 0 :(得分:13)

您的<%行应该使用<%=而不是.each,所以

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

应该是

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

答案 1 :(得分:9)

.each在完成循环后返回整个数组。 <%= ... %>打印出法规值,即.each返回的值 <% ... %>没有。所以你想要:

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