我目前正在尝试在Ruby on Rails应用程序中获取用户所做的所有事件。
Rails版本= 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
然后在视图中显示传单的名称,但这不起作用。
任何建议都将不胜感激。 我很新闻,所以我不确定我是否给出了足够的细节,所以请耐心等待。
提前谢谢你。
答案 0 :(得分:2)
只需将get_flyers
功能修改为
@flyers=User.find(params[:id]).events
然后,@flyers
将包含该用户的一系列事件,您可以在视图中显示这些事件。