#ruby-on-rails #ruby-on-rails-3
#ruby-on-rails #ruby-on-rails-3
Вопрос:
Мне нужно вызвать метод, определенный в помощнике, который использует content_for
, мне нужно отобразить некоторые кнопки и ссылки во множестве просмотров.
Вопрос в том, как я могу извлечь выгоду из before_filter ? Я знаю, что он не предназначен для помощников, итак, каков правильный способ сделать это?
В настоящее время я вызываю вспомогательный метод в большинстве представлений, что кажется непрактичным.
Ответ №1:
before_filter
Здесь никакой помощи не будет. before_filter
Используется внутри контроллера для выполнения метода перед началом действия. В общем, что нужно делать:
- проверьте аутентификацию / доступ / авторизации
- извлечение данных
- его также можно использовать для рефакторинга кода, который является общим для методов контроллера
В вашем случае я бы рассмотрел следующие:
- использование partial для совместного использования общей части представления
- используйте другой макет вместо
application.html.erb
группировки общих представлений вместе - отправьте раздел общего представления в
application.html.erb
Надеюсь, это поможет.
Ответ №2:
Если вы вызываете метод в нескольких представлениях, вы, вероятно, захотите поместить его в макет приложения (по умолчанию app/views/layouts/application.html.erb
)