У меня есть несколько переменных, к которым я хотел бы получить доступ ко всем контроллерам. Поэтому я определил их в своем application_controller.rb:
before_filter :initialize_vars
def initialize_vars
@siteTitle = "my title"
@companyName = "company"
end
Никаких проблем там нет.
Я хотел сделать что-то подобное с логотипом, поэтому я создал еще один метод, который также вызывался с before_filter.
def logo
image_tag("Logo.jpg", :alt => "Logo")
end
один экземпляр логотипа img должен ссылаться на корень сайта, поэтому я назвал его:
<%=h link_to logo, root_path %>
но это не сработало в моем макете! Когда я добавляю свой метод логотипа в application_helper.rb, все работает отлично. hhmmm.
что / где подходящее место для всего этого? Я имею в виду, только потому, что я смог заставить это работать, не делает это правильно!
Должен ли я определять свои переменные экземпляра (которые я рассматриваю как глобальные переменные) в application_controller и методе logo в моем помощнике, как я это сделал? Я чувствую, что мне здесь не хватает фундаментального понимания того, почему им нужно ездить в разные места. Я не уверен, является ли это КАК я называю метод "логотип" или куда я его помещаю. Я собираюсь поиграть с тем, как я звоню и как я написал метод логотипа, потому что я чувствую, что оба метода должны идти в application_controller.
мысли
Спасибо!