在我的 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
答案 0 :(得分:0)
您应该执行类似
的操作@events = current_user.try(:events) || Event.all
因此即使current_user为nil也不会出现任何错误。