在CanCan中访问get参数

4
能否在CanCan中访问通过url传递的参数?我正在尝试基于url中的令牌对访客进行身份验证。
谢谢!
2个回答

6
我最近使用了这里描述的方法,实现了类似的功能:

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

在我的情况下,它看起来像这样:
app/controllers/application_controller.rb:
class ApplicationController < ActionController::Base

  ...

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

end

app/models/ability.rb:

class Ability
  include CanCan::Ability

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

end

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接