2011-08-27 27 views
0

喜,假設我在我的軌道模塊lib文件夾中包含一些方法,通過文件名 - my_module.rb:如何使用一個模塊方法軌lib文件夾特定視圖

my_module.rb 

Module MyModule 
    class SystemModule 
    def some_method 
     ...some cool stuff... 
    end 
    end 
end 

如果我想在我的控制器使用我只想把這個:

require 'my_module' 

MyModule::SystemModule.some_method 

我怎樣才能使從一個視圖模板在哪裏需要my_module調用some_method(如一個輔助方法)? RB

回答

1

對不起,但你的代碼搞砸了。

您無法在類上調用實例方法。所以,你要麼必須定義諸如

def self.some_method ... 

some_method或者你需要調用它

MyModule::SystemModule.new.some_method 

然後模塊是有點棘手。你需要讓整個目錄結構正確。您需要提供一個my_module目錄。例如。 $ RAILS_ROOT/app/lib/my_module /,在這個模塊中你需要插入你的system_module.rb文件。

你應該閱讀ruby如何處理模塊,因爲rails只是一個框架,應用了常用的ruby規則。

+0

感謝您的幫助,將會閱讀更多關於模塊的內容,起初看起來很棘手。 – Hishalv

相關問題