如何仅显示current_user的数据?不是所有用户

时间:2015-06-06 14:21:56

标签: ruby-on-rails ruby

在我的 index.html.erb 中,我将@events(在我的event_controller中)定义为

@events = Event.all 

在我的 application_controller 中,我将@current_user定义为

@current_user ||= Maker.find(session[:maker_id]) if session[:maker_id]

基本上我使用 maker 而不是通常的用户

我意识到,因为@events = Event.all它将显示所有事件,无论制造商如何,但我想知道,如何才能显示事件 关联与current_user的maker_id相关联?

目前的问题是制造商可以在Event#index中看到另一家制造商的事件。

事件与制造者之间的关系是:

class Event < ActiveRecord::Base

  belongs_to :maker 

end

class Maker < ActiveRecord::Base

  has_many :events

end

1 个答案:

答案 0 :(得分:0)

您应该执行类似

的操作
@events = current_user.try(:events) || Event.all

因此即使current_user为nil也不会出现任何错误。