在rails应用程序中创建一个自定义的全局可用对象

时间:2012-11-16 19:21:03

标签: ruby-on-rails-3 ruby-on-rails-3.2

我很难找到答案。我想创建一个自定义类(我知道该怎么做)并让它实例化 - 一个实例 - 可以在我的应用程序中全局访问。我希望集中和抽象一些代码,并使用这个全局可用的对象作为接口。我无法相信这是多么奇怪。

我需要在此对象中提供模型等。

非常感谢帮助。

我正在运行Rails 3.2.8。

2 个答案:

答案 0 :(得分:1)

您放入app/models的任何模型都将由Rails自动加载,因此您可以在其中粘贴自定义模型。

该课程将在整个应用程序中提供,因此您是否可以使用课程方法取决于您。如果您希望它是单身人士,请参阅this helpful article

最后,如果您需要以某种特定方式实例化模型,只需将其放在initializer中即可。当应用程序启动时,config/initializers中的任何文件都将运行一次。

答案 1 :(得分:0)

你可能想要一个Singleton ......

http://www.ruby-doc.org/stdlib-1.9.3/libdoc/singleton/rdoc/Singleton.html

但是,这只适用于该应用程序进程。如果您运行多个应用服务器(即多个瘦实例或乘客),则每个应用服务器都有自己的实例。

如果你需要真正全球化的东西,你将不得不考虑其他选择。