2013-12-24 1 views
1

Я использую:Я не могу найти, где строка определяется - любые трюки, чтобы найти ее источник?

  • Rails 3.2x
  • Spree 1,2
  • Рубин 1.9.3x

Я пытаюсь изменить название одной из моих страниц, и я не может найти, где он определяется. Он отображается в моем базовом ERB-файле как «title», но это имя является достаточно общим, чтобы было невозможно найти, где оно определено.

Я подталкивал всюду, я могу думать, я пробовал искать «title =», но ничего не работает. Я пробовал называть source_location, но похоже, что он работает только с методами.

Любые трюки для определения, где определена переменная?

+1

Вы проверили свой макет приложения? –

+0

Схема приложения - это где доходность. –

+0

@theTinMan, строка находится в переменной var под названием «title», которая отображается тысячами раз в нашем коде. –

ответ

1

Я не могу придумать элегантный способ. Разумным, но, вероятно, эффективным способом было бы сбросить трассировку стека в вашем erb, а затем посмотреть, что делают эти локации, и если там определено title. Он должен войти где-то между началом программы и вызвать ваш erb.

1

Когда I не может найти что-то, я использую grep -ri some_string . в командной строке для рекурсивного поиска всего содержимого каталога.

Это также хорошая тактика, позволяющая вашему редактору искать весь исходный код, поскольку те, которые стоит использовать, имеют возможность поиска по всем файлам в каталоге.


он создается из смеси названий продуктов, сайт конфигурации, и что-то еще

Альтернативная Хитрость заключается в том, чтобы добавить HTML-комментарий раздел в файле ERB, и поставить соответствующая информация для компонентов, используемых для создания заголовка в этом разделе. Затем пусть страницы будут сгенерированы и заглянут внутрь содержимого страницы, чтобы определить, какая таблица и идентификатор строки она есть, имя файла site_config и т. Д.

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

+0

Переменная называется «title». В нашем коде есть тысячи экземпляров этого слова. –

Смежные вопросы