【问题标题】:Write to rails console写入 Rails 控制台
【发布时间】:2013-02-04 09:10:32
【问题描述】:

当我想尝试或调试某些东西时,我会运行 rails console 并在那里做一些事情。我可以通过使用raise "blablabla" 引发异常来从代码中打印一些文本或变量。 问题:我如何才能像简单的logger.info "blah" 一样写入 rails 控制台 而不会引发异常(以及明显的破坏代码执行)?

【问题讨论】:

  • 放“废话”?这应该工作;]

标签: ruby-on-rails ruby debugging development-environment rails-console


【解决方案1】:

我认为您应该使用 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

【讨论】:

    【解决方案2】:

    正如其他人所说,您想使用putsp。为什么?这是魔法吗?

    其实不是。 Rails 控制台在底层是一个IRB,所以你可以在 IRB 中做的所有事情都可以在 rails 控制台中做。因为在 IRB 中打印我们使用puts,所以我们在 Rails 控制台中使用相同的命令进行打印。

    您实际上可以查看 rails 源代码中的控制台code。看到irb的要求了吗? :)

    【讨论】:

      【解决方案3】:

      除了已经建议的pputs — 好吧,实际上在大多数情况下,您可以按照自己的建议编写logger.info "blah"。它也可以在控制台中工作,而不仅仅是在服务器模式下。

      但是,如果您只想进行控制台调试,那么putsp 写起来要短得多。

      【讨论】:

        【解决方案4】:

        putsp 是一个很好的开始。

        p "asd"       # => "asd"
        puts "asd"    # => asd
        

        这里有更多相关信息:http://www.ruby-doc.org/core-1.9.3/ARGF.html

        【讨论】:

          猜你喜欢
          • 2015-03-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多