rails 3.1, как использовать before_filter для вызова метода у помощника?

#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 )