2011-08-04 32 views
7

Tôi sắp xếp mới với Ruby on Rails và đã học rất tốt, nhưng dường như đã gặp phải một vấn đề mà tôi không thể giải quyết được.Ruby on Rails 3 .each do Problem

Chạy Rails 3.0.9 & của Ruby 1.9.2

Tôi đang chạy báo cáo kết quả sau đây trong quan điểm của tôi:

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

Và điều này trong bộ điều khiển của tôi:

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

này đi qua từng bản ghi và xuất ra tên thích hợp, nhưng vấn đề là ở cuối nó hiển thị tất cả thông tin cho tất cả các bản ghi như sau:

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

Tôi mới vào trang web này, vì vậy tôi không chắc liệu bạn có cần thêm chi tiết hay không, nhưng bất kỳ trợ giúp nào đều được đánh giá cao, sau tất cả, tôi vẫn đang học.

Xin cảm ơn trước.

Trả lời

13

Bạn nên sử dụng <%, không <%= cho dòng .each của bạn, vì vậy

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

nên

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

Sự cố khi học Rails ..... Cảm ơn bạn !! –

9

.each lợi nhuận toàn bộ mảng ở cuối một khi nó được hoàn thành vòng lặp. <%= ... %> in giá trị của statment, là giá trị được trả về bởi .each <% ... %> thì không. Vì vậy, bạn muốn:

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

Cảm ơn rất nhiều! Điều này cố định vấn đề: D – Amzziipan