Yak shaving logs


My life is just yak shaving.

YAML(*.yml)の継承方法 ~ YAMLで共通項を括りだしてDRYにする ~

2018/02/19 #YAML

By Yusuke Takita


こんにちは。Takitaです。

たとえば、 usersadmins テーブルのカラムが同じだったとして、 locals に以下のように記載したとします。

# config/locales/model.ja.yml
ja:
  activerecord:
    models:
      admin: 管理者
      user: ユーザー
    attributes:
      admin:
        name: 名前
        email: メールアドレス
        password: パスワード
        password_confirmation: 確認用パスワード
      user:
        name: 名前
        email: メールアドレス
        password: パスワード
        password_confirmation: 確認用パスワード

どう見てもadminとuserのattributesが重複しています。
共通項を括りだして以下のようにDRYに書くことができます。

# config/locales/model.ja.yml
ja:
  activerecord:
    models:
      admin: 管理者
      user: ユーザー
    attributes:
      admin: &admin
        name: 名前
        email: メールアドレス
        password: パスワード
        password_confirmation: 確認用パスワード
      user:
        <<: *admin

*.yml については必要になったことを必要になったタイミングで調べるくらいでいいと思いますが、以下の記事にざっと目を通しておくとはかどるかもしれません。

http://magazine.rubyist.net/?0012-YAML

このエントリーをはてなブックマークに追加

categories


最新記事


tags