5

我想向我的Ruby on Rails項目(模型,視圖和控制器)的所有方面公開全局函數。起初,我以爲我可以只添加:Rails - 通用全局函數

def self.my_function 
    # Code here... 
end 

到/config/application.rb然後只要致電:

Application::my_function 

在任何地方我的應用程序。但那並不奏效。所以我做了一些谷歌搜索,看來,我可以公開的全局函數:

  • 對於我的控制器在/app/controllers/application_controller.rb
  • 對於我的意見/app/helpers/application_helper.rb
  • 對於我在/ lib/
  • 中的模型

但是並不是所有的人都一次。

有人可以告訴我,如果我想要的是可能的嗎?

我也想盡可能避免任何包含聲明,因爲理想情況下這應該從任何地方訪問。但在這一點上,即使使用include語句也行,如果我可以在一箇中心位置定義這個函數的邏輯。

回答

10

config/environment.rb定義它,之前的應用程序獲取與初始化:

<YourApp>::Application.initialize! 
+0

謝謝!這是解決方案!簡單而直接! – BlazeCell 2013-03-08 17:51:10