Was*_*per 2 ruby ruby-on-rails devise
我正在使用Devise,用户既可以是管理员也可以不是(真,假).
有人可以帮我弄清楚如何保护控制器动作,例如:
def new
@post = Post.new
end
Run Code Online (Sandbox Code Playgroud)
我知道Devise允许你通过在视图中使用来调用管理员,但是这可以在控制器中使用吗?:
if current_user.admin?
Run Code Online (Sandbox Code Playgroud)
提前致谢.
alo*_*ony 10
你可以这样简单地添加一个过滤器:
class YourController < ApplicationController
before_filter :check_access, :only => :new
...
def new
@post = Post.new
end
protected
def check_access
redirect_to <whatever> and return unless current_user.admin?
end
end
Run Code Online (Sandbox Code Playgroud)
或使用CanCan或类似的东西,很好地保持限制
| 归档时间: |
|
| 查看次数: |
2428 次 |
| 最近记录: |