web-dev-qa-db-ja.com

懸念事項とレールでのモジュールの使用の違いは何ですか?

RailsでConcernsを使い始めたばかりですが、モジュールとミキシングの概念で同じことを達成できるので、なぜ懸念を抱くのか疑問です。ですから、モジュールを使用する代わりに懸念事項を使用することは、シャットについて誰かに教えてください。

19
Ramkumar

ここで詳しく説明されています: http://api.rubyonrails.org/classes/ActiveSupport/Concern.html

要するに:

  • 懸念事項により、#includedおよび#class_methods の代わりに self.includedフックと追加モジュールClassMethods作成;

  • 懸念事項により、相互に含まれるモジュールの依存関係の解決が向上します。

10
zinovyev

ActiveSupport::Concernいくつかの便利な機能を追加します(つまり、class_methods)モジュールに。 「純粋な」Rubyモジュールを拡張せずに使用できます。基本的に、クラスにミックスインするモジュールを作成します。このモジュールがAS :: Concern、メカニズムを拡張するかどうかは関係ありません同じです。

4
Oleg Antonyan

あなたが心配で書くとき、それはあなたが1つのモジュールを作っていることを意味します。私の意見は懸念であり、モジュールは一緒に似ています。懸念はどこかにモデル、コントローラーとして表示され、ここでモジュールを自分で作成できます。そして、一般的なモジュールでは、libフォルダに書き込みます。どちらも、クラスへの組み込みまたはクラスへの拡張によって使用できます。

1
huyhoang-vn