タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

concernに関するnorisuke3のブックマーク (3)

  • Rails の module ClassMethods がやっている事 - Qiita

    Rails のコードを読んでいると、module ClassMethods って多く書かれている事が分かると思いますが、こいつが何をやっているのかを話していきます。 module ClassMethods を説明する前に、まず、以下のような Module と Class を定義します。 module ModuleA def self.class_method_a 'class_method_a' end def instance_method_a 'instance_method_a' end end class ClassA include ModuleA end

    Rails の module ClassMethods がやっている事 - Qiita
  • [Rails] ActiveSupport::Concern の存在理由 - Qiita

    Railsにおいて共通した処理を切り出すために ActiveSupport::Concern がよく使われています。 しかし、Rubyには元から mix-in という処理を切り出す機能があります。 では、ActiveSupport::Concern の存在理由は何でしょうか。 mix-inの複雑な記述を省略できる Rubyの mix-in は通常以下のようなルールで記述します 切り出した機能を module として作成 共通メソッドを module 内に記述 クラスメソッドや組み込み先クラスの内部処理を module に入れたい場合は特殊なメソッドを使う必要がある ActiveSupport::Concern はこの3番目にある 特殊なメソッド の記述を簡単にしてくれます。 具体的にConcernあり/なし の例を見てみましょう。 (具体例コードは ActiveSupport::Conce

    [Rails] ActiveSupport::Concern の存在理由 - Qiita
  • 長くなりがちなRailsのモデルをきれいに分割する - Qiita

    FrogApps 技術ブログ始めました! RailsやiOS、HTML5の情報を発信中!! → http://qiita.com/teams/frogapps Railsでアプリを作っていると、app/models/以下にあるモデルファイルの行数が非常に長くなることになります。 そこでincludeメソッドを使ってモデルファイルを機能毎に分割してみましょう。 ファインダー関係のメソッドだけを、user/finder.rbに切り出します。 このときクラスメソッド関係は通常の定義方法が異なります。 クラスメソッドの定義は、ClassMethodsモジュールの中で行う様にします。 has_many, belongs_toなどのクラスメソッドの実行は、self.includedの中でbase.has_manyの様にして呼び出します。

    長くなりがちなRailsのモデルをきれいに分割する - Qiita
  • 1