Rails - 通用全局功能

Bla*_*ell 5 ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2

我想向我的Ruby on Rails项目(模型,视图和控制器)的所有方面公开一个全局函数.最初,我认为我可以添加:

def self.my_function
    # Code here...
end
Run Code Online (Sandbox Code Playgroud)

到/config/application.rb然后只需调用:

Application::my_function
Run Code Online (Sandbox Code Playgroud)

我申请中的任何地方.但那没用.所以我做了一些谷歌搜索,似乎我可以公开全局函数:

  • 对于/app/controllers/application_controller.rb中的控制器
  • 对于我在/app/helpers/application_helper.rb中的观点
  • 对于/ lib /中的模型

但不是一次性全部.

任何人都可以告诉我,我想要的是可能的吗?

我也希望尽可能避免使用任何包含语句,因为理想情况下这可以从任何地方访问.但是在这一点上,如果我可以在一个中心位置定义该函数的逻辑,即使使用include语句也是可以的.

kr1*_*kr1 10

config/environment.rb在应用程序初始化之前定义它:

<YourApp>::Application.initialize!
Run Code Online (Sandbox Code Playgroud)