我确定我在这里做错了,但这就是我的应用程序控制器的样子:
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在其他控制器中工作得很好。
答案 0 :(得分:22)
您必须包含ActionController::HttpAuthentication::Basic::ControllerMethods
才能使方法可用。 Here's the module in ActionController::Base
答案 1 :(得分:8)
如果您有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