我不知道试图找出造成这个问题的原因。如果我在控制器中调用render
的任何变体,则会引发以下情况:
NoMethodError: undefined method `logger' for true:TrueClass
from /Users/username/.rvm/gems/ruby-2.3.4/gems/activesupport-5.1.3/lib/active_support/configurable.rb:113:in `logger'
我查了active_support/configurable.rb:113,我不太明白它的比较和提升的内容。我有其他控制器,它们共享相同的基本控制器,在我render
时不会抛出此错误。
我在这里看不到什么?
修改 从
调用渲染class Device::V1::DeviceController < ApplicationController
def status
render json: { foo: 'bar' }, status: :ok
end
end
以下是我的应用程序控制器
class ApplicationController < ActionController::API
include ActionController::HttpAuthentication::Token::ControllerMethods
before_action :authenticate!
private
def authenticate!
authenticate_or_request_with_http_token do |token, options|
token == SECRET[:api_key]
end
end
end
Rails 5.1.3
Ruby 2.3.4
更新
我在这个控制器中有一个名为config
的方法。显然,这是一个与ActiveSupport冲突的保留命名空间
答案 0 :(得分:1)
我有一个名为config
的控制器方法。这是一个保留名称。