ruby-on-rails - 如何处理 ActiveModel 的翻译?

标签 ruby-on-rails ruby ruby-on-rails-3 internationalization ruby-on-rails-3.1

我正在使用 Rails 3.1.1,我想正确翻译 ActiveModel 的错误消息。我不知道覆盖 i18n_scope 是否是解决我的问题的正确方法(或者是否有其他方法),但是 official documentation说:

i18n_scope()

Returns the i18n_scope for the class. Overwrite if you want custom lookup.

... 我应该如何覆盖 i18n_scope

此时我收到以下“警报”:

# Note the 'activemodel' part
translation missing: de.activemodel.errors.models.my_class.attributes.message.blank

# I would like to "map" translations to 'de.activerecord.errors.messages.blank'
# as made for all other ActiveRecord classes in my application

我的 ActiveModel 类如下所示:

class MyClass
  include ActiveModel::Conversion
  include ActiveModel::Validations
  include ActiveModel::Dirty
  extend  ActiveModel::Naming
  extend  ActiveModel::Translation

  validates :name, :presence => true

  ...
end

最佳答案

应该是类方法,类比AR code :

class MyClass
  include ActiveModel ...
  class << self
    def i18n_scope
      :activerecord
    end
  end
end

关于ruby-on-rails - 如何处理 ActiveModel 的翻译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8835215/

相关文章:

ruby - 设计重置密码 token 无效

javascript - 如何在 Rails/HTML 中打印页面?

ruby-on-rails - 关于带有 Rails 的 tlsmail = 错误 - 'no such file to load -- tlsmail.'

windows - 通过 Ruby 持久化环境变量

python - Ruby 是否像 Python 一样具有 `bool` 函数?

javascript - 轨道 3 : good rule of thumb for where to put javascript?

mysql - 创建了 <timestamp>_add_devise_to_users.rb 而不是 <timestamp>_devise_create_users.rb

ruby-on-rails - Ruby on Rails : Capistrano 3 deployment error

ruby-on-rails - 让 'form_for(@something)' 在 new.html.erb 之外工作

ruby - 多行/未知数据正则表达式查询