2015-06-29 10 views
9

To może być powtarzające się pytanie. Ale nie mogę display the object.var_dump i umrze jak php, w rubinach na szynach (debugowanie w rubinach na szynach)

Jestem nowym ruby, próbował debugowanie jak var_dump i print_r następnie die w php

Oto mój kod.

@brand_id = Brand.maximum("brand_id") 

Próbowałem następującą metodę

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

Może ktoś mi pomóc go rozwiązać, pls?

+1

gdzie chcesz go wyświetlić? – RSB

+0

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

+1

Możesz zrobić 'abort YAML :: dump (@brand_id)', który zatrzyma wykonanie i wyjście na stronie błędu. – max

Odpowiedz

12

Szyny tylko wyjściowe poglądy w przeglądarce. Wszelkie inne dane wyjściowe są wysyłane do STD_OUT na serwerze.

debugowanie z widokiem jest prosta:

<%= debug @brand %> 

Ale debugowanie od wewnątrz kontrolerze lub modelu wymaga albo wstrzymania egzekucji z Abort, który wyświetli strona błędu:

abort @brand.inspect 

Or możesz napisać do dziennika szyn, używając:

logger.debug(@brand.inspect) 

Możesz przeczytać dziennik za pomocą tail -f /logs/development.log ze swojej powłoki.

2

Aby wyświetlić go w przeglądarce należy dodać następujący kod w widoku akcji gdzie ustawiasz wartość @brand_id

<%= @brand_id %> 

nadzieję, że to pomogło!

+0

dziękuję, .. @ RSB, .. co z kontrolerem – m2j

+0

W akcji kontrolera musisz ustawić '@ brand_id',' @brand_id = Brand.maximum ("brand_id") ' – RSB

3

szyn odpowiednik PHP var_dump byłoby debug:

<%= debug @brand_id %> 
+0

dzięki @zwippie – m2j

Powiązane problemy