ruby-on-rails - 如何在生产模式下抑制erb中的调试消息

标签 ruby-on-rails ruby debugging erb

我想在我的 erb 模板中打印出一些调试消息,当它在开发模式下被调用时,但在生产模式下被调用时(即)

<%= debug variable_name %>

但是,这将在任何模式下打印。

我发现我可以做到

<% if logger.debug?
     debug variable_name
   end %>

这似乎有效。这是正确的方法,还是有更优雅的解决方案?

最佳答案

你可能想做这样的事情:

<%= debug(variable) if RAILS_ENV == 'development' %>

如果您经常这样做,您可能需要创建一个快速帮助方法来进一步清理代码:

def my_debug(debug_variable)
debug_variable if RAILS_ENV == 'development'
end

然后您可以在您的 erb 模板/ View 中执行此操作

my_debug(variable_here)

关于ruby-on-rails - 如何在生产模式下抑制erb中的调试消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1376773/

相关文章:

debugging - 将构造函数和选择器定义为 cons、car 和 cdr 是否仍然不可取?

ruby-on-rails - 为什么当我尝试按照 ruby​​ on rails 入门指南添加第二个模型时,rails 在 PostsController#index 中给我一个 SyntaxError

ruby-on-rails - ActiveRecord:如何进行 'OR' 合并?

ruby-on-rails - 为什么我会收到此 'can' t modify frozen hash' 错误?

ruby-on-rails - Ruby 1.9 中的主要语法变化是什么?

ruby-on-rails - Spree.config是如何实现的?

ruby - Chef - 提供者内的模板找不到源

ruby-on-rails - Heroku 在部署期间销毁 pg gem

c++ - Qt 5.x 嵌入式调试 - 部署剥离的二进制文件?

debugging - 使用Google VR(Daydream)和Unity时如何调试?