Расширить действие в контроллере
Я строю контроллер, который устанавливает одинаковые переменные в нескольких действиях. Что-то вроде этого:
def one
@a = 1
@b=2
@test = "One"
end
def two
@a = 1
@b = 2
@test = "Two"
end
Я знаю, что мог бы вызвать метод для заполнения присваиваний переменных, но мне интересно, как можно это сделать, используя метод "Best Practice". Я стал честолюбивым и попробовал...
def master
@a = 1
@b = 2
end
def one < master
@test = "One"
end
def two < master
@test = "Two"
end
Но это возникло безрезультатно. Что предлагает Сообщество?
1 ответ
Решение
<
используется для наследования в Ruby и не может использоваться в методах. В Rails вы можете позвонить before_filter
для этого.
before_filter :master
если вы хотите это для всех методов в контроллере, или
before_filter :master, :only => [:one, :two]
если вы хотите это только для этих методов.