【发布时间】:2012-11-16 19:21:03
【问题描述】:
我很难找到答案。我想创建一个自定义类(我知道该怎么做)并让它实例化——一个实例——可以从我的应用程序中全局访问。我希望集中和抽象一些代码,并将这个全局可用的对象用作接口。我不敢相信这是多么奇怪。
我需要在此对象中提供模型等。
感谢您的帮助。
我正在运行 Rails 3.2.8。
【问题讨论】:
标签: ruby-on-rails-3 ruby-on-rails-3.2
我很难找到答案。我想创建一个自定义类(我知道该怎么做)并让它实例化——一个实例——可以从我的应用程序中全局访问。我希望集中和抽象一些代码,并将这个全局可用的对象用作接口。我不敢相信这是多么奇怪。
我需要在此对象中提供模型等。
感谢您的帮助。
我正在运行 Rails 3.2.8。
【问题讨论】:
标签: ruby-on-rails-3 ruby-on-rails-3.2
您放入 app/models 的任何模型都将由 Rails 自动加载,因此您可以在其中粘贴自定义模型。
该类将在您的整个应用程序中可用,因此您是否可以只使用类方法取决于您。如果您希望它是单例,请参阅this helpful article。
最后,如果您需要模型以某种特定方式实例化,只需将其放在initializer 中即可。 config/initializers 中的任何文件都将在应用启动时运行一次。
【讨论】:
你可能想要一个单例...
http://www.ruby-doc.org/stdlib-1.9.3/libdoc/singleton/rdoc/Singleton.html
但是,这仅适用于该应用程序进程。如果您运行多个应用服务器(即多个瘦实例或Passenger),每个应用服务器都将拥有自己的实例。
如果您需要真正全球化的东西,您将不得不考虑其他选择。
【讨论】: