タグ

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

タグの絞り込みを解除

DRYとSTIに関するtobibako45のブックマーク (1)

  • [Rails] STI(単一テーブル継承)とメタプログラミングでDRY - Qiita

    概要 コピペコードが増えがちなサンプルアプリケーションの設計を例にとって、 STI(単一テーブル継承)とメタプログラミングでDRY(重複排除)してみる。 題材 ユーザが保持している楽曲をジャンルごとに管理するようなアプリケーション。 ユーザページでは、ジャンル別に登録曲を一覧(もっと言うとCRUD)できる。 こんなイメージですね。 kidachi_さん あなたの登録曲一覧 Rock ほげRock ふがRock Pops 未登録です。 Jazz ふーJazz ばーJazz 何も考えないで作ると、rock/pops/jazzそれぞれのモデル、ビュー、コントローラに 似たような記述・コピペが増えそうな予感を感じて頂けたでしょうか。 では、それを防ぐために、まずはSTIから。 (※追記) 実は上記だけの要件であれば userテーブル、musicテーブル、genreテーブルのみを用意して user

    [Rails] STI(単一テーブル継承)とメタプログラミングでDRY - Qiita
    tobibako45
    tobibako45 2019/03/27
    “さりげなくmusicテーブルに「type」というカラムが追加されていますが、 ここにrock/pops/jazzといった子の情報が入る事になります。”
  • 1