2011-08-04 99 views
0

我正在嘗試在我的Ruby on Rails應用程序中獲取用戶所做的所有事件。Ruby on Rails 3,傳遞參數?

的Rails版本3.0.9 = 紅寶石版本1.9.2 =

User has_many :events 
Event belongs_to :user 

admin_controller.rb:(用於顯示應用程序的管理部分)

class AdminController < ApplicationController 

    load_and_authorize_resource 

    def index 
    @topuploaders = User.find(:all, :include => :events).sort_by { |u| -u.events.count }.first(5) 
    @topflyers = Event.all(:limit =>10, :order => 'viewcount DESC') 
    end 

    def users 
    @users = User.all 
    end 

    def flyers 
    @events = Event.all 
    end 

    def get_flyers 
    @user = User.find(params[:id]) 
    end 

end 

功能用戶按名稱查找並顯示所有用戶。 我被困在如何建立一個頁面的鏈接,該頁面將顯示用戶創建的所有事件。

我嘗試使用:

def get_flyers 
     @user = User.find(params[:id]) 
end 

然後在視圖中顯示傳單的名字,但這並沒有工作。

任何建議將不勝感激。 我很新,所以我不確定我是否提供了足夠的細節,請耐心等待。

提前謝謝。

回答

2

只需修改您的get_flyers功能

@flyers=User.find(params[:id]).events

然後,@flyers將包含該用戶,您可以從您的視圖中顯示事件的數組。

+0

然後我會如何鏈接到包含用戶列表的視圖? – Amzziipan

+0

您必須將此函數放在'app/helpers/application_helper.rb'中,然後才能從任何視圖中訪問它。 –

+0

我試過這個,但我收到一條錯誤消息,說「找不到沒有ID的用戶」。 – Amzziipan

相關問題