Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails I18n-错误本地化。完整消息在一台服务器上工作,但在另一台服务器上不工作_Ruby On Rails_Error Handling_Localization_Internationalization_Message - Fatal编程技术网

Ruby on rails RubyonRails I18n-错误本地化。完整消息在一台服务器上工作,但在另一台服务器上不工作

Ruby on rails RubyonRails I18n-错误本地化。完整消息在一台服务器上工作,但在另一台服务器上不工作,ruby-on-rails,error-handling,localization,internationalization,message,Ruby On Rails,Error Handling,Localization,Internationalization,Message,我使用的是RubyonRails3.2.13Ruby1.9.3 我使用以下代码显示Rails在模型内进行验证时提供的消息: <% if object.errors.any? %> <div id="error_explanation"> <div class="alert alert-error"> <%=t :the_form_contains %> <%= pluralize(object.errors.count

我使用的是RubyonRails3.2.13Ruby1.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 %>
以下是消息在其他服务器上的显示方式:

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将要翻译的内容只能在一台服务器上工作

我在这里阅读了I18n的Rails指南,但在配置或其他任何地方都没有看到我需要做的任何事情来让这些工作正常进行。正如我所说的,它可以在一台服务器上正常工作,但在另一台服务器上却不行

如果我在开发服务器上做了一些在生产服务器上没有做的事情,我就不记得我做了什么。我在两台服务器上都检查了config/application.rb和config/environment.rb,它们是相同的。也许我需要在生产服务器上的某个地方初始化某些内容。如果找到了答案,也可以解决我在年提出的问题

任何帮助都将不胜感激。我将继续我的研究,看看我是否能找到这方面的任何东西。到目前为止,我什么也没找到


更新:7/29/2013 12:47 pm CDT-我能看到的两台服务器之间唯一的其他区别是开发服务器运行ruby 1.9.3p327,生产服务器运行ruby 1.9.3p362。然而,我不能相信这可能会导致我的问题,但我觉得这是一个差异,我应该注意。

我找不到任何其他与此相关的问题或评论。我决定复制rails-i18ngem的fr.yml哈希。我不必在我的开发服务器上这样做,就可以将错误消息翻译成法语。正如我所说的,没有他们,一切都很好。当我在生产环境中部署新的yaml文件时,我的所有子句都是法语的。我猜在i18n进程的某个地方有一个大海捞针式的bug。至少错误消息的Rails翻译现在正在工作

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