カテゴリー:
Rails
タグ:
 Rails class_eval ActiveSupport::Concern

このエントリーをはてなブックマークに追加
更新日時:
2013年03月31日(日)
作成日時:
2013年03月31日(日)

前の記事 / 次の記事

class_evalできねー!なんでだー!と思って調べたら
ActiveSupport::Concernとか出て来たのでメモ。

class_evalできなかったのはただ単にself付け忘れてただけだったんだけど。。

次のような class_eval があったら、

module CreatableFuck
  def self.included(base)
     base.class_eval {
       before_save :fuck
     }
  end

  def fuck
    Fuck.create
  end
end

ActiveSupport::Concern を使って次のように書けるらしい

module CreatableFuck
  extend ActiveSupport::Concern

  included do
    before_save :fuck
  end

  def fuck
    Fuck.create
  end
end

参考ページ