1 class Parts < ActiveRecord::Base # STI 2 end 3 4 class Parts::Image < Parts 5 end 6 7 part = Parts::Image.create! 8 p part[:type]
1 class Parts < ActiveRecord::Base # STI 2 end 3 4 class Parts::Image < Parts 5 end 6 7 part = Parts::Image.create! 8 p part[:type]
Rails で違和感を覚えるのは、モデルにだけアプリケーション層に基底クラスが用意されていない所。違和感の正体はMVCの対称性だけではなく、実際に不便なのだ。ここで言う「アプリケーション層の基底クラス」とは、フレームワークレベルに直接定義するのは気がひけるけど、現在のアプリケーションで自分が定義するクラス全体には影響を与えたいような定義を行うクラスの意。例えば、セッション情報であれば、フレームワークレベルでなく、ApplicationControllerに定義するのが自然だし、現在の ActionPack でもそういう実装になっている。同じことがビュー(ヘルパ)においても可能だが、モデルだけはなぜか ActiveRecord::Base を直接継承しており、これが不便な局面が多々ある。 ApplicationModel 具体的には、既存のNKSKプロジェクトのモデル(クラス群)を別のプロジ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く