2010-09-24 32 views
2
def self.source_root 
    File.join(File.dirname(__FILE__), 'templates') 
    end 

回答

3

這意味着你可以在一個類上調用Class.source_root,它將在末尾附加'templates'並返回它的路徑名。所以說,你有

Class User 
    def self.source_root 
    File.join(File.dirname(__FILE__), 'templates') 
    end 
end 

在目錄應用程序/模型/

如果你打電話

User.source_root 

它返回

"application/model/templates" 
+0

非常酷。謝謝! – AnApprentice 2010-09-24 18:00:30

0

使用內部評級法來看看會發生什麼。您可以調試變量並測試它們的功能。

這是一個類方法,所以你可以在irb中創建一個類並測試它的功能。

運行IRB像這樣: -

IRB(主):001:0> DEF self.source_root

IRB(主):002:1> File.join(File.dirname(FILE), '模板')

IRB(主):003:1>端 =>零

IRB(主):004:0>類Foo

IRB(主):005:1> DEF self.source_root

IRB(主):006:2> File.join(File.dirname(FILE), '模板')

IRB(主):007:2>端

IRB(主):008:1>端

=>零

IRB(主):009:0> Foo.source_root

=> 「./templates」

IRB(主):010:0>

IRB(主):010:0>FILE

=> 「(IRB)」

IRB(主):011 :0> File.dirname(FILE

=>「。」