调用渲染引发"未定义的方法'记录器'对于真正的班级"

时间:2017-10-02 21:59:42

标签: ruby-on-rails activesupport

我不知道试图找出造成这个问题的原因。如果我在控制器中调用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冲突的保留命名空间

1 个答案:

答案 0 :(得分:1)

我有一个名为config的控制器方法。这是一个保留名称。