5

我想向我的 Ruby on 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/ 中的模型

但并非同时适用于所有人。

谁能告诉我我想要的是否可能?

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

4

1 回答 1

10

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

<YourApp>::Application.initialize!
于 2013-03-08T08:08:17.643 回答