Отладка шаблонов порчи

Я собираюсь использовать deface v1.0.2 для изменения некоторых шаблонов haml в существующем сложном приложении rails 4.2. Исходя из этой проблемы, похоже, что шаблоны haml компилируются в erb, а затем обрабатываются nokogiri, а затем превращаются в HTML.

Я просто ищу какие-либо предложения о том, как отлаживать шаблоны дефекации. Есть ли способ захватить промежуточный шаг erb? Особая проблема, с которой я сталкиваюсь, заключается в том, что мне трудно написать правильные селекторы для вида направляющих, который я хочу изменить (это форма). Обратите внимание, что я использую .deface DSL (файлы), а не Deface::Override, но я рад услышать отладочные предложения в любом формате.

Вещи, которые я сделал:

  • написал простой селектор против h1 и div на странице, которую я хочу изменить
  • попытался добавить код для каждого erb[loud] юридическое лицо
  • ознакомился с файлом readme: https://github.com/DefaceCommunity/deface
  • гуглил, и это самый полезный ответ, и это также обнаружилось
  • искал debug в вопросах проекта (хотя есть достаточно вилок, которые я не уверен, какой из них является каноническим)

Я действительно ищу способ научиться писать точные селекторы, которые не "угадай и проверь". Я также открыт для того, чтобы услышать о других библиотеках, которые были бы лучшим выбором, чем порча для изменения представлений.

Спасибо за ваше время.

1 ответ

Похоже, есть несколько граблей, которые позволяют вам проверять селекторы по отношению к представлениям:

deface: 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

Другие вопросы по тегам