Что означает = fl в хамле
Я унаследовал приложение, в котором есть этот haml для извлечения файла index.html.haml для "домашнего" контроллера.
= fl
- if logged_in?
= render :partial => 'logged_in_home'
- else
= render :partial => 'marketing_home'
Оператор if понятен, но что делает = fl? Я не могу найти это нигде в документации HAML или путем поиска в Google.
3 ответа
= fl
не является встроенным методом хамла. Вы можете попытаться определить, определено ли оно в одном из следующих мест:
- приложение / контроллеры / application_controller
- приложение / хелперы / application_helper
- приложение / хелперы / home_helper
- любое другое приложение / помощники /*_ вспомогательный файл
- библиотечные коды (lib/*)
- коды плагинов / драгоценных камней
Я понятия не имею что fl
находится в вашем приложении, как это, вероятно, определяется вашим приложением или одним из плагинов.
Но я расскажу вам магический трюк, чтобы понять это. На самом деле это очень просто:
- Воткни отладчик прямо перед ним;)
Просто делать
= require 'ruby-debug';debugger;fl
И обновите свою страницу. Сервер должен остановиться на этой линии. использование s
войти в функцию 'fl', и вы точно узнаете, где она находится в 99,99% случаев (*)
- ну, могут быть случаи, когда это мало поможет, когда, например, метод определяется динамически без правильной настройки исходных файлов и строк.
Я предполагаю, что это локальная переменная, особенно если вы находитесь внутри партиала. Что происходит, когда вы запускаете страницу? Что появляется над частями?