我正在尝试使用
向活动脚手架控制器添加操作链接if current_user.can? :update, Post
config.action_links.add 'export', :label => 'Export', :page => true
end
但无论我尝试使用哪种控制器,我总是得到undefined method current_user
那么,我该如何检查记录的用户是否可以做某事?
我甚至试过
def ability
@ability ||= Ability.new(self)
end
delegate :can?, :cannot?, :to => :ability
建议here,但没有成功。
这有什么问题?
答案 0 :(得分:2)
请注意,在正常情况下,ActiveScaffold配置是在类中完成的,而不是实例,因此没有设置current_user,因为还没有请求。
答案 1 :(得分:1)
current_user是一种通常定义的方法,但它是您必须添加的方法。它不是由铁轨提供的。因此,您需要在ApplicationController中使用current_user方法。有很多例子,但我会看一下authlogic example app on github