rails Model.human_attribute_name(:カラム名)

Rails

Model.human_attribute_name(:カラム名)とは?

ActiveRecord::Base のクラスメソッドで内部的に

I18nモジュールを利用してくれるというものです
参照先は config/locales/ja.ymlです。

---
ja:
  activerecord:
    errors:
      messages:
        record_invalid: 'バリデーションに失敗しました: %{errors}'
        restrict_dependent_destroy:
          has_one: "%{record}が存在しているので削除できません"
          has_many: "%{record}が存在しているので削除できません"
    models:
      task: タスク
    attributes:
      task:
        id: ID
        name: 名称
        description: 詳しい説明
        created_at: 登録日時
        updated_at: 更新日時
      user:
        name: 名前
        email: メールアドレス
        admin: 管理者権限
        password: パスワード
        password_confirmation: パスワード(確認)
        created_at: 登録日時
        updated_at: 更新日時

viewではこんな感じで使います。

th= Task.human_attribute_name(:name)

この場合ですと「名称」ですね!

最後に

ymlの書き方は特徴があって毎回躓きます。。