タグ

2014年3月21日のブックマーク (2件)

  • 【Rails】ActiveRecord:単一テーブル継承(sti)とポリモーフィック関連を未だにぱっと思い出せないのでまとめ。 - 訳も知らないで

    ActiveRecordで単一テーブル継承(STI:Single Table Inheritance)とポリモーフィック関連という2つの便利なモデルの持ち方?関係性?があるのですが、恥ずかしながらいつも混同してしまいます… 多分頭の中では両方とも「似たモデルをまとめる」みたいなぼんやりした認識してるので混ざってしまっているようで… すごい今更ですが ちょっと自分なりにまとめてみようと思います。 単一テーブル継承(STI:Single Table Inheritance) 同じような機能(メソッド)を持つActiveRecordモデルクラスが2つ存在するので、 継承を使って実装しようとした場合。 例として 「Information」モデルを継承した「Warning」クラスと「Notice」クラスを作成するとします。 (例としておかしかったらごめんなさい…) 単純に実装すると、各モデルに対しD

    【Rails】ActiveRecord:単一テーブル継承(sti)とポリモーフィック関連を未だにぱっと思い出せないのでまとめ。 - 訳も知らないで
  • Rubyのブロックはメソッドに対するメソッドのMix-inだ!

    Yugui著「初めてのRuby」を読んでいる。 初めてのRuby by Yugui 7章メソッドには、ブロック付きメソッドのことが丁寧に記述されていて大変参考になる。 Rubyのブロックは分かったようで分からない代物だ。スーパーマリオブラザーズのように、間口が広くて奥が深い。少し真剣に向き合ってみた。完全理解にはほど遠いけれども、頭を整理するために今の理解を書いてみることにする。 引数付きメソッド Ruby空間における操作対象はオブジェクトである。オブジェクトは外からのメッセージを受け取ると、その中の対応するメソッドを起動してそこに書かれている手続きを実行する。 文字列オブジェクト”Charlie”にメッセージlengthが送られると、対応するlengthメソッドが起動され、7が返される。 メソッドは引数を取ることができる。メッセージのカッコ内に収められたオブジェクトは、メソッドに渡されそ