4

Я пытаюсь интегрировать oAuth2.0 В мое приложение rails-api, используя привратник. Но я продолжаю получать эту ошибку, «undefined method` helper_method »для ApplicationController» и все же не смог найти четкое решение о том, как ее решить. Ниже приведен класс application_controller.rb, у которого есть helper_method. Я следую руководству по приведенной ниже ссылке. Любая помощь будет оценена по достоинству.undefined method `helper_method 'для ApplicationController, Rails 5

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

Хотя ответ Энди Gauge является правильным; исправление неверно. Если вы хотите включить модуль «Помощники», сохраняя при этом ваши приложения как «rails-api», просто включите модуль

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

Поскольку ИПН не имеют вид, метод helper_method был удален. Если вы хотите добавить свой метод current_user к представлению, вместо этого используйте ActionController :: Base.

ActionController included Modules on Github. Здесь вы можете видеть, что AbstractController :: Помощники не включены в коллекцию модулей.

В Rails 4, на котором основана статья, метод был включен в ActionController :: Helpers. Как видно из APIDock.

Обход:

#application_controller.rb 
class ApplicationController < ActionController::Base