0

我在使用带有Authority gem的rails-apiundefined method 'authorize_actions_for'时进入控制器。我需要包括什么想法?这是我的代码:

宝石文件:

...
gem 'authority', '~> 2.9.0'
gem 'rails-api', '~> 0.1.0'
...

应用程序/授权者/session_authorizer.rb:

class SessionAuthorizer < ApplicationAuthorizer
  def deletable_by?(user)
    user.sessions.include?(resource)
  end
end

应用程序/控制器/v1/sessions_controller.rb:

class V1::SessionsController < ApplicationController
  authorize_actions_for Session
  ...
end
4

1 回答 1

2

包括Authority::Controller

正如我们在 Github 上讨论的authorize_actions_forAuthority::Controller.

在一个普通的 Rails 应用程序中,该模块被包含在ActionController::BaseAuthority 的railtie.rb. 显然,使用 rails-api 时不需要 railtie(也许Rails未定义常量?)。

不过,您可以自己包含适当的模块:

class ApplicationController < ActionController::Base
  include Authority::Controller
end
于 2013-11-04T16:42:09.283 回答