Как найти, где используется частичное представление?

Как легко узнать, где используется партиал представления Rails?

В каких представлениях, контроллерах и т.д.

Это удобно при работе над приложением, которое написал кто-то другой. Вам необязательно знать, какие представления используют тот или иной частичный элемент или где найти, где этот частичный элемент используется при навигации по приложению в браузере.

В настоящее время я использую редактор Sublime Text для поиска по всему проекту частичного имени «form» или «_form» или «render», но это дает ненужное количество бесполезных результатов.


person Magne    schedule 23.01.2015    source источник
comment
Если ваш партиал _form находится (например) в папке /users/, используйте Sublime для поиска только внутри этой папки. Затем выполните поиск пользователей/формы по всему проекту - именно так другие представления должны будут ссылаться на частичное. Это сократит количество бесполезных результатов.   -  person MrDanA    schedule 23.01.2015


Ответы (1)


Вы можете попробовать поместить этот вызывающий внутрь партиала, а затем запустить тест. люкс:

#haml

- p caller[x]

#erb

<%- p caller[x] %>

Я использовал x, потому что вам придется поиграться с индексом, который вы вызываете, чтобы получить полезную информацию.

person dax    schedule 23.01.2015
comment
Боюсь, у меня нет набора тестов. :( Хорошее предложение, однако. - person Magne; 23.01.2015
comment
вы также можете щелкнуть свое приложение и проверить вывод своего сервера :) - person dax; 23.01.2015
comment
да, как я уже сказал, я не знаю, где найти частичное представление в приложении. Насколько я знаю, может быть несколько мест. - person Magne; 23.01.2015
comment
я думал, вы имели в виду, что не знаете всех мест, где он используется ... если вы не можете найти файл, вам нужно сделать реорганизацию этого приложения, которое вы унаследовали, высшим приоритетом. - person dax; 23.01.2015
comment
Я имею в виду приложение в браузере. :) - person Magne; 23.01.2015
comment
Ах я вижу! ну, я имею в виду, что если вы добавите этот фрагмент «вызывающий», а затем щелкните свое приложение, вы увидите все места, где оно вызывается через вывод сервера. - person dax; 23.01.2015
comment
Да, я понял, но я не знаю, где найти или хотя бы поискать партиал в приложении (в браузере). Мне пришлось бы просмотреть десятки, если не сотни страниц :/ - person Magne; 23.01.2015
comment
Сначала поработайте над тем, чтобы вызывающий абонент давал вам значимые данные. Затем взгляните на это: stackoverflow.com/q/19611104/2128691 Вы можете написать простой скрипт, который получает каждый маршрут , печатает имя маршрута и посещает его. Тогда вы легко увидите, где используется этот фрагмент. - person dax; 24.01.2015