0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【初学者】human_attribute_nameとは

Posted at

railsを勉強中に出てきたhuman_attribute_nameについての記事です。

モデル名.human_attribute_name(:カラム名)とは

ActiveRecord::Baseのクラスのメソッド
内部的に I18nモジュールを利用してくれるやつ
つまり、日本語化とかするときに使うって認識でいれば良いと思います。

#設定方法
【参照先】config/locales/ja.yml
こんな感じで記述をしておきます。

config/locales/ja.yml
ja:
  activerecord:
    errors:
      messages:
        record_invalid: "バリデーションに失敗しました: %{errors}"
        restrict_dependent_destroy:
          has_one: "%{record}が存在しているので削除できません"
          has_many: "%{record}が存在しているので削除できません"
    models:
      tasks: タスク
    attributes:
      task:
        id: ID
        name: 名称
        description: 内容
        created_at: 登録日時
        updated_at: 更新日時

#使い方

翻訳したい部分のviewファイルに記述するときは以下のようにしましょう。
今回はToDoアプリを作成していると想定しています。

Task.human_attribute_name(:name)
=> "名称"

t("activerecord.attributes.task.name")
=> "名称"

Task.human_attribute_name(:created_at)
=> "登録日時"

t("activerecord.attributes.task.created_at")
=> "登録日時"

なんか長くて複雑そうですが、やっていることは単純ですね!

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?