我希望使用 deface v1.0.2 在现有的复杂 rails 4.2 应用程序中修改一些 haml 模板。 从这个问题来看,haml模板似乎被编译成erb,然后由nokogiri处理,然后变成HTML。
我只是在寻找有关如何调试污损模板的任何建议。 有没有办法捕获中间 erb 步骤? 我遇到的特定问题是我很难为我要修改的轨道视图编写正确的选择器(它是一种表单)。 请注意,我使用的是.deface
DSL(文件)而不是Deface::Override
,但我很高兴听到任何格式的调试建议。
我做过的事情:
- 针对我要修改的页面中的 H1 和div 编写了一个简单的选择器
- 尝试将代码添加到每个
erb[loud]
实体 - 已查看自述文件:https://github.com/DefaceCommunity/deface
- 谷歌搜索,这是最有用的答案,这也出现了
- 在项目问题中搜索了
debug
(尽管有足够的分支,我不确定哪个是规范的)
我真的在寻找一种方法来学习编写精确的选择器,而不是"猜测和检查"。 我也愿意听到其他库,这些库在修改视图时比污损更好。
谢谢你的时间。
看起来有几个 rake 任务可以让您针对视图测试选择器:
污损:test_selector - 对部分或模板应用给定的 CSS 选择器,并输出每个匹配项(如果有)的标记。 test_selector需要两个参数,第一个是部分/模板的virtual_path,第二个是要应用的 CSS 选择器:
rake deface:test_selector[shared/_head,title]
查看shared/_head
覆盖并选择title
元素
rake deface:test_selector['admin/products/index','div.toolbar']
查看admin/products/index
覆盖并选择div.toolbar
元素。
示例来自: https://github.com/DefaceCommunity/deface#rake-tasks