2956


formで値が不正だったときに表示されるエラーメッセージのモデル名を日本語にする方法が分かりません。

[code]

    class Ranking < ActiveRecord::Base
      has_many :ranking_posts, dependent: :destroy
      accepts_nested_attributes_for :ranking_posts
      validates_associated :ranking_posts
    end
    
[/code]

と

[code]

    class RankingPost < ActiveRecord::Base
      belongs_to :ranking
      default_scope -> { order('rank DESC') }
      validates :title, :description, :rank, presence: true
    end
    
[/code]

として、RankingとRankingPostを同時に更新出来るformを作成しました。
そしてRankingPost側を不正な値でformを送信すると、エラーメッセージで「Ranking
postsは不正な値です。」と表示されます。この「Ranking posts」を日本語にする方法を知りたいです。

i18nで

[code]

    ja:
      activerecord:
        models:
          ranking/ranking_posts: すべてのランキング記事
    
[/code]

のようにしても適用されませんでした。 どのような方法でネストされたモデル名を日本語化できるか教えていただきたいです。


CC BY-SA 3.0
2015-01-02T07:48:50.830
2942
2015-01-15T14:57:55.740
2015-01-15T14:57:55.740
4978
4971
question
ruby ruby-on-rails rails-activerecord
Railsでネストされたモデルの名前を日本語で表示させたい (i18n)


`ranking`モデルの`ranking_posts`属性の名前なので、`activerecord.models`ではなく`activerecord.attributes`以下に設定を書くとよいと思います。以下のような感じです。

[code]

    ja:
      activerecord:
        attributes:
          ranking:
            ranking_posts: すべてのランキング記事
    
[/code]

<http://railsguides.jp/i18n.html> の4.6あたりです。


CC BY-SA 3.0
2015-01-02T14:30:01.113
2956
2015-01-02T14:30:01.113
2599
2942
answer