Ruby On Rails 3.2.13 Ruby 1.9.3 を使用しています。
モデル内で検証が行われているときに Rails が提供するメッセージを表示するために使用している次のコードがあります。
<% if object.errors.any? %>
<div id="error_explanation">
<div class="alert alert-error">
<%=t :the_form_contains %> <%= pluralize(object.errors.count, "#{t :error_text}") %>.
<ul>
<% object.errors.full_messages.each do |msg| %>
<li>* <%= msg %></li>
<% end %>
</ul>
</div>
</div>
<% end %>
また、yaml ファイルにカスタマイズされたテキストがいくつかあります。あるサーバーでメッセージがどのように表示されるかの例を次に示します。
Le Formulaire contient 20 erreurs.
* Mot de passe doit être rempli(e)
* Prénom doit être rempli(e)
* Prénom est trop court (au moins 3 caractères)
* Prénom n'est pas valide
他のサーバーでメッセージがどのように表示されるかを次に示します。
Le Formulaire contient 20 erreurs.
* Mot de passe can't be blank
* Prénom can't be blank
* Prénom is too short (minimum is 3 characters)
* Prénom is invalid
yaml ファイルに入力したメッセージの部分だけが正しく表示されます。Rails が変換するものは、1 つのサーバーでのみ機能します。
ここで I18n の Rails ガイドを読みましたhttp://guides.rubyonrails.org/i18n.htmlしかし、これらを機能させるために必要な構成やその他の場所には何も表示されませんでした。私が述べたように、あるサーバーでは正常に機能しますが、他のサーバーでは機能しません。
実稼働サーバーではしなかったことを開発サーバーで行った場合、何をしたか覚えていません。両方のサーバーで config/application.rb と config/environment.rb を確認しましたが、同じです。本番サーバーのどこかで初期化する必要があるものがあるかもしれません。答えが見つかれば、私がRuby on Rails I18n - Localization of Dates Works In localhost but Not In Production で尋ねた問題も解決するかもしれません。
どんな助けでも大歓迎です。これについて何かを見つけることができるかどうかを確認するために、調査を続けます。これまでのところ、何も見つかりませんでした。
更新: 2013 年 7 月 29 日午後 12:47 CDT - 2 つのサーバー間で確認できる他の唯一の違いは、開発サーバーが ruby 1.9.3p327 を実行しており、運用サーバーが ruby 1.9.3p362 を実行していることです。しかし、それが私の問題を引き起こしているとは信じられませんが、注意すべき違いだと思います.