2010-08-15 17 views
15

Qualcuno sa come eseguire il debug in rails nel modello? Ho un metodo che ora funziona e stavo cercando di verificare il valore della variabile tra digitare logger.debug val_name che funziona nei controller ma non nei modelli qualcuno sa perché? Il modello non è ereditato da Active Record se può essere il problema. C'è un modo per eseguirne il debug?Come eseguire il debug in Model?

risposta

7

Si può semplicemente eseguire "inserisce" all'interno delle chiamate al metodo del modello e verrà emesso. Puoi vederlo nei registri dei binari o nell'output della console.

+0

questo è stato molto utile e facile, mi chiedo perché non l'ho provato :) – Dennis

+0

Puoi anche fare test di unità per il tuo modello. –

3

poiché il vostro modello non è un ActiveRecord non ha il metodo logger mescolato-in

è possibile aggiungere in questo modo (probabilmente altri modi migliori per farlo così)

class YourModelThatIsNotActiveRecord 
    def logger 
     RAILS_DEFAULT_LOGGER 
    end 
end 

un mucchio di grandi informazioni anche qui - http://guides.rubyonrails.org/debugging_rails_applications.html

0

Se si girano fino Mongrel utilizzando script/server in fase di sviluppo, questo potrebbe funzionare:

  1. Installa la gemma del ruby-debug, se non ce l'hai già: gem install ruby-debug;
  2. aggiungi require 'ruby-debug' a config/environments/development.rb;
  3. inserire la riga debugger nell'origine in cui si desidera avviare una sessione di debug.

un'occhiata a questa guida ufficiale per ulteriori informazioni: http://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-ruby-debug

22

Un altro modo di log da qualsiasi punto dell'applicazione:

Rails.logger.debug "Show this message!" 

questo sarà sempre output al file log/development.log.