Ruby on rails 如何在本地化中升级模型名称并设计错误消息?
我在Rails应用程序中使用Desive,我想知道为什么它会在错误消息中关闭我所有的型号名称: 有什么方法可以推翻这一点吗 例如,在德语中,名词以大写字母开头,例如,“Benutzer”是正确的,但“Benutzer”是错误的 我的Ruby on rails 如何在本地化中升级模型名称并设计错误消息?,ruby-on-rails,ruby,ruby-on-rails-3,devise,ruby-on-rails-3.2,Ruby On Rails,Ruby,Ruby On Rails 3,Devise,Ruby On Rails 3.2,我在Rails应用程序中使用Desive,我想知道为什么它会在错误消息中关闭我所有的型号名称: 有什么方法可以推翻这一点吗 例如,在德语中,名词以大写字母开头,例如,“Benutzer”是正确的,但“Benutzer”是错误的 我的设计中有这个。de.yml: de: activerecord: models: user: "Benutzer" 但是,Deave仍然以小写字母呈现Benutzer: Konnte benutzer nicht speichern 这是
设计中有这个。de.yml
:
de:
activerecord:
models:
user: "Benutzer"
但是,Deave仍然以小写字母呈现Benutzer
:
Konnte benutzer nicht speichern
这是错误的
我怎样才能解决这个问题
感谢您的帮助…快速修复
添加包含以下内容的文件app/helpers/designe\u helper.rb
:
module DeviseHelper
def devise_error_messages!
return "" if resource.errors.empty?
messages = resource.errors.full_messages.map { |msg| content_tag(:li, msg) }.join
sentence = I18n.t("errors.messages.not_saved",
:count => resource.errors.count,
:resource => resource.class.model_name.human)
html = <<-HTML
<div id="error_explanation">
<h2>#{sentence}</h2>
<ul>#{messages}</ul>
</div>
HTML
html.html_safe
end
end
源代码改编自我认为您必须覆盖设备的方法
设备错误消息在助手中编写>并将您的逻辑放在那里(如果您希望downcase用于非德语地区,请删除downcase或按地区创建Case)
resource.class.model_name.human.downcase