我正在构建一个控制器,在多个操作中设置相同的变量。像这样:
def one
@a = 1
@b=2
@test = "One"
end
def two
@a = 1
@b = 2
@test = "Two"
end
我知道我可以调用一种方法来填写变量赋值,但我想知道如何用“最佳实践”的方式。我野心勃勃地试着......
def master
@a = 1
@b = 2
end
def one < master
@test = "One"
end
def two < master
@test = "Two"
end
但这无济于事。 SO社区建议什么?
答案 0 :(得分:4)
<
用于Ruby中的继承,不能用于方法。在Rails中,您可以为此目的调用before_filter
。
before_filter :master
如果您想要控制器中的所有方法,或
before_filter :master, :only => [:one, :two]
如果您只想要这些方法。