ruby-on-rails - 什么是 "common"在日志中仅显示一次消息的实践/技术?

标签 ruby-on-rails ruby ruby-on-rails-3.1 logging

我正在运行 Ruby on Rails 3.1。我想知道一种“通常”用于在部分模板文件中设置变量(例如,status = 'loaded')的实践/技术,以便重复任何时候呈现该部分模板的变量设置。也就是说,我有一个部分模板文件在同一个请求中被渲染了很多次,我只想在日志中显示一条警告消息一次(即一次),即使部分模板加载了不止一次...出于性能原因(或“完美主义”...)。

简而言之,我只想在日志文件中显示一次“警告”消息。

我怎样才能(轻松地)做到这一点?

最佳答案

是的,可以禁用日志中某些消息的日志记录,但这种方法不是很容易(请参阅 this question),甚至对您的情况有害。 你应该问问自己,你为什么想要这个?可能你做错了什么。例如,如果您在循环中多次渲染模板,则有一个特殊的选项,可以提高性能!考虑你有这样的事情:

<% @followers.each do |follower| %>
  <%= render :partial => "follower", :locals => {:follower => follower}  %>
<% end %>

这可以通过选项 :collection 来完成:

<%= render :partial => "follower", :collection => @followers %>

而且它更具可读性和效率。完整的日志输出将帮助您进行调试。

关于ruby-on-rails - 什么是 "common"在日志中仅显示一次消息的实践/技术?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9651975/

相关文章:

ruby-on-rails - Ruby on Rails 基于角色的身份验证系统,如何使用不同的角色?

ruby - VS Code Prettier 破坏哈希访问

ruby - 试图在 ruby 中创建一个矩阵

mysql - 用 1M 行填充数据库

ruby-on-rails-3 - 为递归关系编写关联

amazon-s3 - 如何使用 Amazon s3 部署(同步)Rails 3.1 预编译 Assets

mysql - Rails 最佳实践 : Constants for model ids, 或 find_by 或 where 查询?

ruby-on-rails - 弃用警告 : #apply_finder_options

ruby-on-rails - 在 Rails 3 中,link_to_function 消失到哪里去了?

mysql - 简单 Rails SQL 错误