0

我正在尝试使用将操作链接添加到活动脚手架控制器

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

正如这里所建议的那样,但没有成功。
这有什么问题?

4

2 回答 2

2

请注意,在正常情况下,ActiveScaffold 配置是在类而不是实例中完成的,因此没有设置 current_user,因为还没有请求。

于 2011-03-08T03:15:54.570 回答
1

current_user 是一种典型定义的方法,但它是您必须添加的方法。它不是由导轨提供的。因此,您需要在 ApplicationController 中使用 current_user 方法。有很多示例,但我会查看github 上的 authlogic 示例应用程序

于 2010-11-16T12:37:10.757 回答