2011-08-04 7 views
0

私は現在、Ruby on Railsアプリケーションでユーザーが行ったすべてのイベントを取得しようとしています。Ruby on Rails 3、Paramsを渡しますか?

レールバージョン= 3.0.9 Rubyのバージョン= 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

単に

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

にごget_flyers機能を変更し、@flyersはあなたのビューから表示することができ、そのユーザのためのイベントの配列を含んでいます。

+0

これで、ユーザーの一覧を含むビューからどのようにリンクすることができますか? – Amzziipan

+0

この関数を 'app/helpers/application_helper.rb'に置く必要があります。そして、あなたはどのビューからでもアクセスすることができます。 –

+0

これを試しましたが、「IDなしでユーザーを見つけることができませんでした」というエラーメッセージが表示されます。 – Amzziipan

関連する問題