Rails - 在编译和呈现模板之前以编程方式获取模板。

时间:2015-02-15 13:36:57

标签: ruby-on-rails erb

我有一个用例,我希望能够访问我的所有模板,这意味着html + erb(或任何其他模板处理程序)并在编译之前对它们执行某些操作(在我的情况下,我想要检查是否存在硬编码字符串)。 Rails API中有没有办法挂钩?

1 个答案:

答案 0 :(得分:2)

AFAIK rails可以懒惰地解析路径名,所以没有任何意义,你可以拥有"所有路径"。可以在任何时候将新路径添加到查找中,因此您的应用程序逻辑必须确保与该路径保持同步。

我认为您可以通过创建自己的模板解析器来实现您想要做的任何事情,并且也可以懒惰地应用任何转换。看看actionview/lib/action_view/template/resolver.rb及其实现。

本书crafting rails applications对渲染过程有一个很好的描述,可能会帮助您找到问题的另一种解决方案。

相关问题