我是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>]
我是这个网站的新手,所以我不确定你是否需要更多的细节,但毕竟我还在学习任何帮助。
提前致谢。
答案 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 %>