タグ

DRYに関するtobibako45のブックマーク (2)

  • [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といった子の情報が入る事になります。”
  • 【Rails】Helperを使ってよりDRYなviewを書こう - Qiita

    HelperでviewをDRYに Helperとは、viewをよりシンプルにDRYに書くためのモジュール。view以外もhelpできるけど、基的にはviewをhelpしてくれるものだと抑えましょう。 例 <%= form_tag %>とか<%= link_to %>とか...。Railsを書いていてこれらを使ったことがない人はいないでしょう。 こいつらはrailsがデフォで準備してくれてる便利なヘルパーたち。そのシンプルさDRYさは言わずもがな。 helperを作ろう デフォで用意されてるhelperは汎用的なもの。自分のアプリで繰り返し登場するコードや、viewのコードを汚くしてるものには、helperを定義してSimpleにDryにしてあげよう。 使用例1: 繰り返し出てくる文言 あんまりhtmlに繰り返し使う文言はベタ打ちしたくないよね。変更があったら全ていちいち変えなきゃいけない

    【Rails】Helperを使ってよりDRYなviewを書こう - Qiita
  • 1