在CanCan中访问获取参数

str*_*go0 3 authorization cancan ruby-on-rails-3

是否可以访问CanCan中url中传递的参数?我正在尝试根据网址中的令牌对来宾进行身份验证.

谢谢!

pix*_*pix 5

我最近使用此处描述的方法实现了类似的功能:

https://github.com/ryanb/cancan/wiki/Accessing-request-data

就我而言,它看起来像这样:

应用程序/控制器/ application_controller.rb:

class ApplicationController < ActionController::Base

  ...

  def current_ability
    @current_ability ||= Ability.new(current_user, params[:token])
  end

end
Run Code Online (Sandbox Code Playgroud)

应用程序/模型/ ability.rb:

class Ability
  include CanCan::Ability

  def initialize(user, token=nil)
    ...
    can :read, Article, :tokens => { :token => token }
    ...
  end

end
Run Code Online (Sandbox Code Playgroud)