ruby-on-rails - rails, make render 添加正在渲染的文件名的 HTML 注释以供开发

标签 ruby-on-rails

我正在使用一个有点复杂且不是由我设计的应用程序。由于它使用了很多部分,如果每次呈现新的 erb/rhtml 文件时我都可以自动添加一个 html 模板,那将非常有帮助。

所以例如,如果代码有这个:

<%= render(:partial => 'personal_details', :object => @auser) %>

输出 html 添加如下内容:
<!-- Rendering: views/users/_personal_details.rhtml called from other_file.rhtml -->

如何实现呢?

最佳答案

首先,您是否已经在使用 xray-rails可视化你的部分?这是一个非常有用的工具。

如果您需要更多的东西,请查看一些指针的 xray-rails 源代码。基本上你需要做的是猴子补丁ActionView::Template#rendershown here .

总结一下:

ActionView::Template.class_eval do
  def render_with_prepend_comment(*args, &block)
    # Defer to original implementation to do the actual render
    source = render_without_prepend_comment(*args, &block)

    # Then augment it as desired
    "<!-- prepended comment -->\n" + source 
  end
  alias_method_chain :render, :prepend_comment
end

还有一点。看看 xray-rails 是如何做的 its augmentation .

关于ruby-on-rails - rails, make render 添加正在渲染的文件名的 HTML 注释以供开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29350958/

相关文章:

ruby-on-rails - 如何从 Rails 的 View 中调用表单 Controller 上的方法?

ruby-on-rails - 自定义中间件中未捕获的异常后类重新加载停止

ruby-on-rails - 将@font-face 文件集成到 Rails Assets 管道中

ruby-on-rails - 在 Rails 3 中,如何使用 button_to 更改 bool 值?

ruby-on-rails - Rails 迁移中模型类的替代方案

ruby-on-rails - rails : ActiveResource and Apache Redirect

ruby-on-rails - 如何在我的 Nitrous.io 盒子上设置 ElasticSearch 和 Searchkick?

ruby-on-rails - 最常见元素的ruby数组计数

ruby-on-rails - Rake 在我的 Gem 路径中,但 Bundler 找不到它

ruby-on-rails - 如何在 Rails 数据库中保存哈希值?