In PHP, CGI o in RoR's View, possiamo facilmente stampare le informazioni di debug. Che ne dici di Controller, come possiamo dire, print "hello world"
(all'output della pagina web) e tornare per continuare con la vista, o fermare il controller proprio lì?Su Ruby on Rails, come stampiamo le informazioni di debug all'interno di un controller?
risposta
Nel controllore è possibile:
render :text => @some_object.inspect
Ma il vostro punto di vista non sarà reso.
Si potrebbe anche:
Rails.logger.debug("My object: #{@some_object.inspect}")
ed eseguire coda log/development.log per visualizzare l'output.
Nella vista il modo in cui è recommeneded:
<%= debug(@some_object) %>
Non so print
, ma puts
non mi ha mai mancato. Il tuo hello world
sarà in console e registra e il flusso normale continuerà.
Ho capito bene?
oh, in realtà, può mostrare sulla pagina web? –
È possibile eseguire il debug nella visualizzazione: <%= debug @post %>
. Per saperne di più: http://guides.rubyonrails.org/debugging_rails_applications.html
In realtà, il suggerimento di Nikita non è male. Ma di solito è difficile guardare i dati nel terminale perché la dimensione del buffer dello schermo può essere limitata ed è piena di dati precedenti dal precedente rendering di pagine.
Ma, dicono su Mac, basta assicurarsi che il buffer dello schermo è abbastanza grande, e anche l'uso nel terminale rails server
la chiave Comandok per cancellare il buffer intero schermo prima, e utilizzare il browser per andare a prendere una pagina Web, e ora utilizzare Comandof per cercare la stringa stampata e funziona anche molto bene. In realtà se Comandok viene utilizzato per cancellare prima tutto il buffer dello schermo, quindi la stampa dovrebbe sempre rientrare nel buffer dello schermo.
è possibile utilizzare abortire con ispezionare
abort params[:whatevs].inspect
o
abort @my_variable.inspect
per JSON formato
render json: JSON.pretty_generate(JSON.parse(@my_variable.to_json))
- 1. Informazioni sui tempi di rendering di Ruby on Rails
- 2. Esercitazione su Ruby on Rails
- 3. downgrade di Ruby on Rails
- 4. Come ajax recupera i dati dal controller ruby on rails
- 5. Curl on Ruby on Rails
- 6. Ruby on Rails con pattern di deposito?
- 7. Operazione di transazione con Ruby On Rails
- 8. var_dump e muore come php, in ruby on rails (eseguire il debug in ruby su binari)
- 9. Ruby on rails 4 problema di registrazione
- 10. ruby on rails logic per un partial in un layout
- 11. Docsplit Ruby on Rails
- 12. Ruby on rails tasks scheduling
- 13. Dove vanno le chiamate API in un progetto di framework MVC su ruby on rails?
- 14. Più tipi di utenti su Ruby on Rails
- 15. Ruby on Rails before_filter vs initialize di ruby
- 16. Come si passano i dati da un controller a un modello con Ruby on Rails?
- 17. CakePHP è modellato su Ruby on Rails?
- 18. creare un localizzate, Ruby-on-Rails elenco di valori flessibili
- 19. Errore AssociationTypeMismatch su Ruby on Rails app
- 20. Ruby on Rails: metodo Global Helper per tutti i controller
- 21. Basic Ruby on Rails Domanda sull'instradamento
- 22. Errori di convalida di Ruby on Rails
- 23. Busting Ruby on Rails Myths
- 24. Specificare layout per alcuni controller in Ruby on Rails
- 25. Ruby on Rails: come unire due tabelle
- 26. Plurale Ruby on Rails (controller) e convenzione (modello) singolare - spiegazione
- 27. Migliorare le prestazioni di Ruby on Rails Windows 7
- 28. Ruby on Rails, rilevamento Javascript
- 29. Ruby on rails e Node.js
- 30. Cant localhost accesso su Ruby on Rails
Questo è ben [documentato qui] (http://guides.rubyonrails.org/debugging_rails_applications.html#the-logger). –
Ho messo <% = debug (@some_object)%> per il mio oggetto istanza in vista. Ma viene stampato così com'è, senza mostrarmi il valore dell'oggetto. – hatellla
debug() tenta di chiamare to_yaml() sull'oggetto. Se non può, chiama invece inspect(). – Papipo