当rails-api与Authority 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
答案 0 :(得分:2)
Authority::Controller
As we discussed on Github,authorize_actions_for
在Authority::Controller
中定义。
在普通的Rails应用中,该模块被权威机构ActionController::Base
纳入railtie.rb
。显然使用rails-api时不需要铁路(可能没有定义Rails
常量?)。
您可以自己包含相应的模块:
class ApplicationController < ActionController::Base
include Authority::Controller
end