2010-07-27 22 views

Trả lời

82

Trong bộ điều khiển bạn có thể:

render :text => @some_object.inspect 

Nhưng quan điểm của bạn sẽ không được trả lại.

Bạn cũng có thể:

Rails.logger.debug("My object: #{@some_object.inspect}") 

và chạy đuôi trên log/development.log để xem kết quả.

Trong giao diện cách recommeneded là:

<%= debug(@some_object) %> 
+1

Đây là [tài liệu ở đây] (http://guides.rubyonrails.org/debugging_rails_applications.html#the-logger). –

+0

Tôi đã đặt <% = debug (@some_object)%> cho đối tượng đối tượng của tôi trong chế độ xem. Nhưng nó nhận được in như nó là mà không cho tôi thấy giá trị của đối tượng. – hatellla

+0

debug() cố gắng gọi to_yaml() trên đối tượng. Nếu nó không thể, nó gọi kiểm tra() để thay thế. – Papipo

5

Không biết về print, nhưng puts không bao giờ làm tôi thất vọng. hello world của bạn sẽ nằm trong bảng điều khiển và nhật ký và luồng thông thường sẽ tiếp tục.
Tôi có hiểu chính xác bạn không?

+1

oh, trên thực tế, nó có thể hiển thị trên trang web? –

1

Trên thực tế, đề nghị Nikita không phải là xấu. Nhưng thường rất khó để xem xét dữ liệu trong thiết bị đầu cuối vì kích thước bộ đệm màn hình có thể bị hạn chế và dữ liệu trước đó đầy đủ từ các trang kết xuất trước đó.

Nhưng, nói trên Mac, chỉ cần đảm bảo bộ đệm màn hình là đủ lớn, và cũng có thể sử dụng trong các thiết bị đầu cuối rails server phím lệnhk để xóa bộ đệm toàn bộ màn hình đầu tiên, và sử dụng trình duyệt để lấy một trang web và bây giờ sử dụng Lệnhf để tìm kiếm chuỗi bạn đã in ra và nó hoạt động khá tốt. Trên thực tế, nếu Lệnhk được sử dụng để xóa toàn bộ bộ đệm màn hình trước, khi đó bản in phải luôn luôn vừa với bộ đệm màn hình.

2

bạn có thể sử dụng hủy bỏ với kiểm tra

abort params[:whatevs].inspect 

hoặc

abort @my_variable.inspect 

cho JSON định dạng

render json: JSON.pretty_generate(JSON.parse(@my_variable.to_json)) 
Các vấn đề liên quan