Trong PHP, CGI hoặc trong Chế độ xem của ROR, chúng tôi có thể dễ dàng in ra thông tin gỡ lỗi. Làm thế nào về trong Controller, làm thế nào chúng ta có thể nói, print "hello world"
(để đầu ra trang web) và quay trở lại để tiếp tục với xem, hoặc dừng bộ điều khiển ngay tại đó?Trên Ruby on Rails, làm cách nào để in thông tin gỡ lỗi bên trong bộ điều khiển?
Trả lời
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) %>
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?
oh, trên thực tế, nó có thể hiển thị trên trang web? –
Bạn có thể gỡ lỗi trong chế độ xem: <%= debug @post %>
. Thông tin thêm: http://guides.rubyonrails.org/debugging_rails_applications.html
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.
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))
- 1. Làm thế nào để bao gồm một bộ điều khiển bằng đá quý Ruby on Rails?
- 2. Ruby on Rails: Nhận tên bộ điều khiển và hành động dựa trên đường dẫn
- 3. Lỗi Rake Ruby on Rails
- 4. Xóa bản ghi khỏi bảng điều khiển - Ruby on Rails
- 5. Làm cách nào để hiển thị riêng các thông báo lỗi XML trong Ruby on Rails?
- 6. Ruby on Rails: gỡ lỗi nhiệm vụ cào
- 7. Làm cách nào để truyền dữ liệu từ bộ điều khiển đến mô hình với Ruby on Rails?
- 8. Hiển thị biểu mẫu từ bộ điều khiển khác trong Ruby on Rails 3
- 9. form_for thông báo lỗi trong Ruby on Rails
- 10. Hiển thị một phần trong bộ điều khiển bằng Ruby On Rails
- 11. Thanh thông báo trong Ruby on Rails
- 12. Sự kiện/Quan sát Điều khiển Ruby on Rails
- 13. Lấy phần neo của URL trong bộ điều khiển trong Ruby on Rails
- 14. Làm cách nào để xóa Ruby on Rails 4 beta?
- 15. Ruby on Rails mô hình bên trong namespace không thể được tìm thấy trong bộ điều khiển
- 16. Ruby on Rails trên IIS?
- 17. Lỗi xác thực của Ruby on Rails
- 18. Làm cách nào để gỡ cài đặt ứng dụng Ruby on Rails?
- 19. Làm thế nào để làm chủ Ruby on Rails
- 20. Xác định bố trí cho các bộ điều khiển nhất định trong Ruby on Rails
- 21. Làm cách nào để gỡ cài đặt Ruby on Rails và thực hiện cài đặt sạch?
- 22. Ruby on Rails PaperClip Gem validate_attachement lỗi
- 23. Break on _NSLockError() để gỡ lỗi ... Làm thế nào để?
- 24. Thêm hành động vào bộ điều khiển hiện có (Ruby on Rails)
- 25. Sử dụng liên kết Ruby on Rails để liên kết với hành động điều khiển
- 26. Lỗi AssociationTypeMismatch trên ứng dụng Ruby on Rails
- 27. Ruby on Rails: Bộ điều khiển đăng ký Devise tùy chỉnh, yêu cầu tạo hành động
- 28. Làm thế nào để giải nén một tập tin trong Ruby on Rails?
- 29. Làm cách nào để đặt hàng has_many thông qua liên kết trong Ruby on Rails?
- 30. Làm cách nào để liệt kê các khóa trong bộ nhớ cache trong bộ nhớ trên Ruby on Rails?
Đây là [tài liệu ở đây] (http://guides.rubyonrails.org/debugging_rails_applications.html#the-logger). –
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
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