2010-06-01 65 views
1

的Rails的東西:我有一個類的方法,我想修改實例的東西Rails的:我有一個類的方法,我想修改實例

是這樣的:

class Test < Main 
    template :box 

    def test 
     # here I want to access the template name, that is box 
    end 
end 

class Main 
    def initialize 
    end 

    def self.template(name) 
     # here I have to save somehow the template name 
     # remember is not an instance. 
    end 
end 

這與模型類相似:

# in the model 
has_many :projects 

我該怎麼做?

編輯:

class Main 
    def self.template(name) 
    @name = name 
    end 

    def template 
    Main.instance_eval { @name } 
    end 
end 

class Test < Main 
    template 6 
end 

t = Test.new.template 
t # t must be 6 
+0

您是否考慮過將您的一些問題標記爲已回答? – DJTripleThreat 2010-06-06 08:56:27

回答

1

有幾種不同的方式來做到這一點。這裏是一個:

class Main 
    def self.template(name) 
    @name = name 
    end 
end 

class Test < Main 
    def test 
    Main.instance_eval { @name } 
    end 
end 

Main.template 5 
Test.new.test 
    ==> 5 
+0

謝謝,但它不完全是我的意思..「Main.template 5」必須進入測試<主類(記住,將有test01,test02類,他們應該有不同的模板名稱,並且不能共享!如果我在test01中更改,應該不會在test02中更改,就像在模型中一樣)。類「test」必須在Main類中工作。謝謝;)看在編輯(上) – 2010-06-02 21:20:40

相關問題