2017-10-02 4 views
1

Je n'arrive pas à comprendre ce qui cause ce problème. Si j'appelle toute variation de render dans mon contrôleur, il pose les éléments suivants:call render génère "Undefined method 'logger" pour la classe true "

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' 

J'ai vérifié active_support/configurable.rb:113 et je ne comprends pas tout à fait ce qu'il comparaison et pour élever. J'ai d'autres contrôleurs qui partagent tous deux le même contrôleur de base, qui ne lance pas cette erreur quand je render.

Qu'est-ce que je ne vois pas ici?

EDIT Appel de rendre

class Device::V1::DeviceController < ApplicationController 

    def status 
    render json: { foo: 'bar' }, status: :ok 
    end 
end 

Ci-dessous est mon contrôleur d'application

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

MISE À JOUR J'avais une méthode dans ce contrôleur appelé config. Apparemment, il s'agit d'un espace de noms réservé qui était en conflit avec ActiveSupport

+0

montrez-nous où vous appelez render – Cyzanfar

+0

@Cyzanfar mis à jour – theartofbeing

Répondre

0

J'avais une méthode de contrôleur nommée config. C'est un nom réservé.