2015-06-29 11 views
9

Questa potrebbe essere una domanda ripetuta. Ma non posso display the object.var_dump e muore come php, in ruby ​​on rails (eseguire il debug in ruby ​​su binari)

Sono nuovo di rubino, ha cercato di eseguire il debug come var_dump e print_r poi die in php

Ecco il mio codice.

@brand_id = Brand.maximum("brand_id") 

Ho provato il seguente metodo

1 puts YAML::dump(@brand_id) 
2 logger.debug { @brand_id.inspect } 

Qualcuno può aiutarmi a risolverlo, pls?

+1

dove vuoi visualizzarlo? – RSB

+0

http://guides.rubyonrails.org/debugging_rails_applications.html – max

+1

Si può fare "abortire YAML :: dump (@brand_id)" che interrompe l'esecuzione e l'output in una pagina di errore. – max

risposta

12

Rails sarà solo una vista output al browser. Qualsiasi altro output viene inviato a STD_OUT sul server.

debug da vista è semplice:

<%= debug @brand %> 

Ma il debug dall'interno di un controller o modello che si richiede a uno fermare l'esecuzione con interruzione, che sarà in uscita una pagina di errore:

abort @brand.inspect 

Or è possibile scrivere sul registro delle rotaie con:

logger.debug(@brand.inspect) 

È possibile leggere il registro utilizzando tail -f /logs/development.log dalla shell.

2

per visualizzarla nel browser è necessario aggiungere il seguente codice nella visualizzazione dell'azione in cui si imposta il valore di @brand_id

<%= @brand_id %> 

Spero che questo ha aiutato!

+0

grazie, .. @ RSB, .. che dire nel controller – m2j

+0

Nell'azione controller è necessario impostare '@ brand_id',' @brand_id = Brand.maximum ("brand_id") ' – RSB

3

le rotaie equivalente di php di var_dump sarebbe debug:

<%= debug @brand_id %> 
+0

grazie @zwippie – m2j