У меня есть переменная, к которой я хочу получить доступ в своем application.html.erb, чтобы она была доступна для всех представлений.Я знаю, что могу войти и добавить его в каждый контроллер и добавить в каждую функцию, чтобы он был доступен для индексации, показа и т. Д. Однако это безумие.Если я хочу, чтобы он был в заголовке, я должен иметь доступ к нему в файле application.html.erb, чтобы он был во всех моих представлениях.Пример одного из моих контроллеров, в котором он работает ...
def index
if session[:car_info_id]
@current_car_name = current_car.name
end
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @miles }
end
end
Вот моя функция в applicationcontroller:
private
def current_car
CarInfo.find(session[:car_info_id])
end
Если я пытаюсь добавить @current_car_name = current_car.nameк моему applicationcontroller, так что переменная доступна для моего application.html.erb, он бомбит с ошибкой Routing to current_car.Я знаю, что функция работает, потому что, если я вызываю ее в другом контроллере, она работает нормально, и я могу получить доступ к переменной, созданной в этом представлении индекса, или как угодно.Просто нужно знать, как вызвать функцию один раз и иметь переменную, доступную для всех представлений, так как она будет в моем заголовке.Я мог бы поместить информацию в переменную сеанса, но я где-то читал, что вы должны ограничить переменные сеанса идентификаторами и генерировать другую необходимую информацию из этих идентификаторов.
Заранее спасибо,