私は、200以上のモジュールを持つRailsアプリケーション用のApplicationModelを開発中です。アプリがとても大きいので、rails s
の場合、文字通りアプリを読み込むのに40秒かかります。開発中に頻繁に変更するモジュールがあり、アプリケーションをリロードする必要があります。ActiveRecordの拡張 - sendとextendの違いは何ですか?
私はApplicationModelを作成し、すべての初期化子をそのモデルに移動して、変更を開発時に再ロードし、毎日多くの時間を節約してサーバーを再起動する必要はありません。
ApplicationModelをActiveRecord::Base
から継承し、抽象クラスにしました。他のすべてのモデルはこのモデルから継承します。そこで、ActiveRecordを継承するイニシャライザをこのモデルに組み込むことができます。
他の人が始めたプロジェクトに取り組んでいるので、私はActiveRecord
の2通りの方法の違いを知らず、それらの違いを知りたいと思います。
ActiveRecord::Base.send(:include, someModule)
ActiveRecord::Base.extend(ClassMethods)
+1になりますように、私は自分のコードを更新していますが、最初の部分が間違ってました。リロードしようとしていたイニシャライザがありました。それらは 'config/initializers'にあったので' reload! 'はそれらに触れません。しかし、アプリケーションモデルでは、 'reload! 'が動作するか、あるいは開発中の応答しかありません。 – s84
Gotcha - それは私には分かりませんでした。「200以上のモデルを持つRailsアプリケーション用のApplicationModelで作業しています。明確にしてくれてありがとう! –
(ああ、数分前には "200以上のモジュール"に修正されているのがわかります) –