Ответ 1
Вместо этого вы должны включить ActionController::HttpAuthentication::Basic::ControllerMethods
, чтобы иметь доступные методы. Здесь модуль в ActionController::Base
Я уверен, что я делаю что-то неправильно здесь, но это то, что выглядит мой контроллер приложения:
class ApplicationController < ActionController::API
include ActionController::HttpAuthentication::Basic
include ActionController::MimeResponds
http_basic_authenticate_with :name => "joeyjojo", :password => "shabadoo"
end
Я не могу понять, почему моя http_basic_authenticate_with выбрасывает эту ошибку:
undefined method `http_basic_authenticate_with' for ApplicationController:Class
Я уверен, что это что-то простое, но я этого не вижу. MimeResponds отлично работает в других контроллерах.
Вместо этого вы должны включить ActionController::HttpAuthentication::Basic::ControllerMethods
, чтобы иметь доступные методы. Здесь модуль в ActionController::Base
Если у вас есть Rails API, добавьте его в свой контроллер:
включить ActionController:: HttpAuthentication:: Basic:: ControllerMethods
class YourController < ApplicationController
include ActionController::HttpAuthentication::Basic::ControllerMethods
http_basic_authenticate_with name: "username", password: "passwd123"
Я использую Rails 4.2.4 и мой ApplicationController:
class ApplicationController < ActionController::API