我已经使用prepend_view_path按照here所述向我的应用添加了主题目录。它按预期工作。我现在可以在app/themes/my_theme/views下的应用程序中添加视图结构

现在,我希望能够通过放入erb文件来覆盖.liquid模板,该文件将立即在控制器操作中呈现。

例如,我要覆盖app/views/pages/home.html.erb

<h1><%= t 'it_works' %></h1>


...使用app/themes/my_theme/views/pages/home.liquid

<h1>It works with {{ "liquid" }}</h1>


我不想指定一个视图路径数组(不方便维护),而只需将.liquid作为图层添加到模板引擎中。但是,也许有一个不可覆盖的受保护视图黑名单(例如app/views/admin/*

最佳答案

您有液体模板处理程序吗?否则,Rails将不知道您要使用.liquid文件做什么。请参阅此博客文章:http://royvandermeij.com/blog/2011/09/21/create-a-liquid-handler-for-rails-3-dot-1/

关于第二个问题:不为app/views/admin/*使用主题,则应确保您拥有一个不prepend_view_path的AdminController。

关于ruby-on-rails - 如何用液体覆盖erb?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19230907/

10-10 10:30