2011-04-02 11 views
1

我正在構建一個控制器,它在幾個動作中設置相同的變量。事情是這樣的:在控制器中擴展一個動作

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社區建議什麼?

回答

4

<用於Ruby中的繼承,不能用於方法。在Rails中,您可以爲此調用before_filter

before_filter :master 
如果你想在控制器的所有方法

,或者

before_filter :master, :only => [:one, :two] 
如果你想它只有這些方法

+0

我挖了它。謝謝! – 2011-04-02 14:42:46