1

プロジェクトに Twitter Bootstrap をインストールしたところ、不明な構文が見つかりました。

<%=t '.title', :default => model_class.model_name.human.pluralize %>
<%= link_to t('.new', :default => t("helpers.links.new")),
            new_article_path,
            :class => 'btn btn-primary' %>

'.title''.new'、の意味がわかりません'helpers.links.new'。これらの構造は、ロケール辞書とどのように相互作用しますか?

また、私はそれについて読むことができるメソッドの構築:default =>に会ったことがありませんか?t

4

1 に答える 1

5

t は Rails の I18n 国際化メカニズムによって提供されるヘルパー メソッドであり、 I18n.translate メソッドのショートカットです。

I18n が読み取るロケール ファイルは、デフォルトで Rails.root/config/locales/en.yml に設定されており、en がデフォルトのロケールであると想定しています。

最初の引数は、I18n がロケール ファイルで検索するキーです。このステートメントt('.new', :default => t("helpers.links.new"))は、I18n がコンストラクトを探すことを意味します

en:
  new: "new string"

あなたのロケールファイルで。

:default は、最初のキーが見つからなかった場合に返される文字列です。

:default => t("helpers.links.new")I18n が en.yml で次の構造を探すことを意味します。

en:
  helpers:
    links:
      new: "new string"

最初のものが欠席した場合に備えて返却します。

I18n translate メソッドの完全なドキュメントはこちらにあります。

于 2012-07-22T17:26:08.510 に答える