gpt4 book ai didi

internationalization - 导轨 I18n : can't override "1 error prohibited this packet from being saved:"

转载 作者:行者123 更新时间:2023-12-04 06:27:41 24 4
gpt4 key购买 nike

当我在模型数据包上出现错误时,我总是看到第一行(英文=未翻译):

1 error prohibited this packet from being saved:
Naam Gelieve het veld Naam in te vullen!

找到了单个字段错误的翻译!

虽然我的 nl.yml 中有以下内容
nl:

activemodel:
errors:
template:
header:
one: "1 fout voorkwam dat dit %{model} kon bewaard worden"
other: "%{count} fouten voorkwamen dat deze %{model} kon bewaard worden"
body: "Er waren problemen met de volgende velden:"

errors:
template:
body: "Controleer alstublieft de volgende velden:"
header:
one: "Kon dit {{model}} object niet opslaan: 1 fout."
other: "Kon dit {{model}} niet opslaan: {{count}} fouten."

activerecord:
errors:
template:
header:
one: "1 fout voorkwam dat dit %{model} kon bewaard worden"
other: "%{count} fouten voorkwamen dat deze %{model} kon bewaard worden"
body: "Er waren problemen met de volgende velden:"
messages:
blank: Gelieve het veld %{attribute} in te vullen!
models:
survey: test
packet: woordenlijst
user: gebruiker
attributes:
survey:
name: Naam

如果一直在看很多东西,在 rails-i18n,下载他们的 nl.yml 但似乎没有任何帮助。
有没有人知道为什么它不起作用?

我认为这可能与其他文件发生冲突(我有另外两个 gem 的本地化文件),但是暂时删除这些文件并没有改变任何事情。

有没有人知道如何调试这个?

我可以以某种方式删除默认翻译,以便我收到找不到翻译的错误吗?

最佳答案

哦!找到了!愚蠢的我!

忘了在 rails 3 中你不再使用 error_messages_for ,所以在我的脚手架 View 代码中有以下代码:

 = form_for @packet do |f|
-if @packet.errors.any?
#errorExplanation
%h2= "#{pluralize(@packet.errors.count, "error")} prohibited this packet from being saved:"

所以,难怪我不能翻译那个。啊啊啊啊啊!!

解决方案是使用 dynamic-form插件(它为您提供与 rails 2.3 中相同的功能),或者像我一样相应地调整 View :
  -if @packet.errors.any?
#errorExplanation
%h2
- if @packet.errors.count == 1
= t 'activerecord.errors.template.header.one', :model => @packet.class.human_name
- else
= t 'activerecord.errors.template.header.other', :model => @packet.class.human_name, :count => @packet.errors.count
%b= t 'activerecord.errors.template.body'
%ul
- @packet.errors.full_messages.each do |msg|
%li= msg

但是,由于我们需要为每个可能有错误的 View 执行此操作,因此应该进行部分操作,或者使用上面提到的插件:)

关于internationalization - 导轨 I18n : can't override "1 error prohibited this packet from being saved:",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3822199/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com