Когда я хочу попробовать или отлаживать smthing, я запускаю rails console
и делаю там кое-что. Я могу напечатать текст или переменные из кода, создав исключение с помощью raise "blablabla"
.
Вопрос: Как я могу просто писать на консоль rails без исключения (и очевидное выполнение кода), как простой logger.info "blah"
?
Написать на консоли rails
Ответ 1
Как говорили другие, вы хотите использовать либо puts
, либо p
. Зачем? Это волшебство?
На самом деле нет. Консоль рельсов находится под капотом IRB, поэтому все, что вы можете сделать в IRB, вы сможете сделать в консоли rails. Поскольку для печати в IRB мы используем puts
, мы используем ту же команду для печати в консоли rails.
Фактически вы можете взглянуть на консоль code в исходном коде rails. См. Требование irb?:)
Ответ 2
puts
или p
является хорошо начните это делать.
p "asd" # => "asd"
puts "asd" # => asd
вот больше информации о нем: http://www.ruby-doc.org/core-1.9.3/ARGF.html
Ответ 3
В дополнение к уже предложенным p
и puts
- ну, на самом деле, в большинстве случаев вы можете написать logger.info "blah"
так же, как вы сами предложили. Он также работает в консоли не только в режиме сервера.
Но если все, что вам нужно, это консольная отладка, в любом случае puts
и p
гораздо меньше.
Ответ 4
Я думаю, вы должны использовать опции отладки Rails:
logger.debug "Person attributes hash: #{@person.attributes.inspect}"
logger.info "Processing the request..."
logger.fatal "Terminating application, raised unrecoverable error!!!"
https://guides.rubyonrails.org/debugging_rails_applications.html