权威宝石提供'未定义的方法'

时间:2013-11-04 07:33:19

标签: ruby-on-rails ruby rails-api authority-gem

rails-apiAuthority gem一起使用时,我在控制器中获得undefined method 'authorize_actions_for'。我需要包含哪些想法?这是我的代码:

的Gemfile:

...
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

1 个答案:

答案 0 :(得分:2)

包括Authority::Controller

As we discussed on Githubauthorize_actions_forAuthority::Controller中定义。

在普通的Rails应用中,该模块被权威机构ActionController::Base纳入railtie.rb。显然使用rails-api时不需要铁路(可能没有定义Rails常量?)。

您可以自己包含相应的模块:

class ApplicationController < ActionController::Base
  include Authority::Controller
end