由于在 Rails 3 中 form.error_messages 已被弃用,我使用了一个部分,其中我遍历 full_messages 并像这样构建我的 html:
<% model.errors.full_messages.each do |msg| %>
<p><%= msg %></p>
<% end %>
然而,应用程序的默认语言环境不是英语,在我的语言中,full_messages 的结构有点不自然:
{{attribute}} {{message}}
我从 generate_full_messages 的来源看到我可以本地化格式,所以在我的语言环境的 yml 文件(bg.yml)中我添加了这个:
bg:
activerecord:
errors:
full_messages:
format: "[...]"
但是,验证错误的格式保持不变。
最佳答案
不知道它是否有帮助,但是 locale file for Bulgarian is available on Github .
你也可以试试这个(应该根据 rails guides 工作):
bg:
errors:
format: "%{message}"
messages: &error_messages
empty: "Something something %{attribute} something something"
this blog post而这个 stack overflow issue也谈怪
{{attribute}} {{message}}
结构。似乎是由安装在同一服务器上的两个 I18n gem 之间的冲突引起的。
关于ruby-on-rails - Rails 3 完整的错误消息格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4527708/