4

私はoAuth2.0を統合しようとしています。私のrails-apiアプリケーションでは、ドアキーパを使っています。しかし、私はこのエラー "ApplicationControllerのための未定義のメソッド` helper_method 'を得ていますが、それを解決する方法についての明確な解決策はまだ見つかりませんでした。 bellowはhelper_methodを持つ私のapplication_controller.rbクラスです。私は下のリンクでチュートリアルに従っています、どんな助けも高く評価されます。ApplicationController、Rails 5のための未定義のメソッド `helper_method '

https://www.sitepoint.com/getting-started-with-doorkeeper-and-oauth-2-0/

class ApplicationController < ActionController::API 

private 

    def current_user 
     @current_user ||= User.find(session[:user_id]) if session[:user_id] 
    end 

    helper_method :current_user 

end 

答えて

7

アンディゲージの答えは正しいですが。修正が間違っています。アプリケーションを "rails-api"のままにしてヘルパーモジュールを追加したい場合は、単にモジュールを含めます。

class ApplicationController < ActionController::API 
    include ActionController::Helpers 
end 
1

APIはビューを持っていないので、helper_method方法が削除されました。 current_userメソッドをビューに追加する場合は、代わりにActionController :: Baseを使用してください。

ActionController included Modules on Github.ここで、AbstractController :: HelpersはModulesコレクションに含まれていないことがわかります。

記事のベースとなるRails 4では、メソッドがActionController :: Helpersに含まれていました。 APIDockに見られるように。

回避策:

#application_controller.rb 
class ApplicationController < ActionController::Base 
関連する問題