Я хотел бы добавить пару переменных экземпляра в мой контроллер, так как рассматриваемые переменные требуются из более чем одного вида действия. Однако приведенный ниже пример не работает так, как я ожидал.
class ExampleController < ApplicationController
@var1 = "Cheese"
@var2 = "Tomato"
def show_pizza_topping
# What I want is the above instance vars from within the view here
end
def show_sandwich_filling
# What I want is the above instance vars from within the view here
end
end
Насколько я понимаю, Rails берет переменные экземпляра из контроллера и делает их доступными в представлении. Если я присваиваю те же переменные в методах действия, это работает нормально, но я не хочу делать это дважды. Почему мой путь не работает?
(Примечание: это немного мусорный пример, но я надеюсь, что это имеет смысл)
РЕДАКТИРОВАТЬ: Я нашел ответ на этот вопрос здесь: Когда устанавливаются переменные экземпляра Ruby?
РЕДАКТИРОВАНИЕ 2: когда лучше всего использовать такие фильтры, как before_filter и метод initialize?