0

これに対する答えを見つけるのに非常に苦労しています。カスタム クラスを作成し (これは方法を知っています)、アプリケーション内からグローバルにアクセスできるインスタンス化 (1 つのインスタンス) を作成したいと考えています。一部のコードを集中化して抽象化し、このグローバルに利用可能なオブジェクトをインターフェイスとして使用することを検討しています。これがどれほど奇妙であるかを理解することは信じられません。

このオブジェクト内からモデルなどを利用できるようにする必要があります。

助けていただければ幸いです。

Rails 3.2.8 を実行しています。

4

2 に答える 2

1

入力したモデルはすべてapp/modelsRailsによって自動ロードされるため、カスタムモデルをそこに貼り付けることができます。

クラスはアプリ全体で利用できるため、クラスメソッドを使用できるかどうかはあなた次第です。シングルトンにしたい場合は、この役立つ記事を参照してください。

最後に、特定の方法でモデルをインスタンス化する必要がある場合は、モデルをイニシャライザーに配置するだけです。のファイルはconfig/initializers、アプリの起動時に1回実行されます。

于 2012-11-16T19:38:49.810 に答える
0

おそらくシングルトンが必要です...

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

ただし、それはそのアプリ プロセスでのみ利用できます。複数のアプリ サーバー (つまり、複数のシン インスタンスまたは Passenger) を実行する場合、それぞれに独自のインスタンスがあります。

真にグローバルなものが必要な場合は、他のオプションを検討する必要があります。

于 2012-11-16T19:43:50.183 に答える