「Sequel」の編集履歴(バックアップ)一覧に戻る
Sequel - (2009/01/10 (土) 02:04:47) のソース
■チートシート: http://d.hatena.ne.jp/yshgt/20080629/1214720897 http://merblog.tt25.org/2008-12-14/merb-and-sequel-by-yellowpages-dot-com ■SingleTableInheritance(単一テーブル継承): http://markmail.org/message/bgy3uinkrlz2er2f ActiveRecordのSTIは Sequelではポリモーフィックモデルと呼んでいる。 set_model を使ってカラム名 type でハッシュマップの値をclass に与えてデータセットを作る: dataset.set_model(:type, {1 => Person, 2 => Company}) class Addressable < Sequel::Model(:addresses) dataset.set_row_filter {|v| eval(v[:type]).new(v)} end class Person < Addressable end class Company < Addressable end これは、マクロでも出来る。 class Sequel::Model def self.set_polymorphic(type_column = :type) dataset.set_row_filter {|v| eval(v[type_column]).new(v)} end end