我在 Rails 3.2.3 中使用以下部分显示我的大多数模型的错误消息:
# _error_messages.html.erb
<% if object.errors.any? %>
<div id="error_explanation">
<h3><%= pluralize(object.errors.count, "error") %>
prohibited this <%= object.class.to_s.underscore.humanize.downcase %> from being saved:</h3>
<p>There were problems with the following fields:</p>
<ul>
<% object.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
在我决定使用I18n
.
de.yml
我为包含以下内容的德语内容创建了一个新文件(以及许多其他内容):
# de.yml
errors: &errors
format: ! '%{attribute} %{message}'
messages:
blank: muss ausgefüllt werden
template:
body: ! 'Bitte überprüfen Sie die folgenden Felder:'
header:
one: ! 'Konnte %{model} nicht speichern: ein Fehler.'
other: ! 'Konnte %{model} nicht speichern: %{count} Fehler.'
etc. etc. etc.
现在如何在我的错误消息中使用此内容?
尤其是这条线<%= object.class.to_s.underscore.humanize.downcase %>
让我很困惑。我尝试了类似<%= t 'activerecord.errors.template.header', :model => object.model_name.human %>
但没有任何运气的东西。
有人可以帮忙吗?
我已经阅读了关于本地化的 Rails 指南三遍,但我被困在这里。
谢谢你的帮助!