Ruby on rails 如何在本地化中升级模型名称并设计错误消息?

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 这是

我在Rails应用程序中使用Desive,我想知道为什么它会在错误消息中关闭我所有的型号名称:

有什么方法可以推翻这一点吗

例如,在德语中,名词以大写字母开头,例如,“Benutzer”是正确的,但“Benutzer”是错误的

我的
设计中有这个。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