Rails 3 - переменная доступна во всех контроллерах - PullRequest
1 голос
/ 25 августа 2011

Мне нужна переменная, которая будет доступна во всех контроллерах. Например, я пробовал что-то вроде:

class ApplicationController < ActionController::Base
  @test = 'test string'
  ...
end

и если я попытался показать содержимое @ test в application.html.erb, то я получил пустой результат.

Одной из возможностей является сохранение строки в session, но этот способ я хотел бы использовать только как последнюю возможность ...

Итак, я хотел бы спросить вас - существует ли в Rails какой-нибудь элегантный способ, как это сделать?

1 Ответ

1 голос
/ 25 августа 2011

Вы можете использовать before_filter для установки переменной:

class ApplicationController < ActionController::Base
  before_filter :set_test

  def set_test
    @test = 'test string'
  end
end

С этим вы можете использовать @test в application.html.erb.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...