2012-02-03 179 views
0

我有一個Rails 3.1.1項目使用Gem ActiveFrom ActiveModel的擴展來驗證非持久性模型。在我的國際化陽明文件我有以下代碼:Rails 3 ActiveForm國際化(國際化)

activemodel: 
    attributes: 
    contact_form: 
     name: "Name" 
     phone: "Telefon" 
    errors: 
    models: 
     contact_form: 
     attributes: 
      name: 
      blank: "Sie müssen Ihren Namen angeben." 
      phone: 
      blank: "Sie müssen eine Telefonnummer angeben." 

當我在我看來,這些消息被翻譯與@contact_form.errors.full_messages所有的錯誤信息,但屬性不一樣:

Phone Sie müssen eine Telefonnummer angeben. 

電話應該被翻譯成電話

當我用持久模型和ActiveRecord做同樣的事情時,這是行得通的嗎?任何人都可以告訴我從屬性轉換ActiveRecord和ActiveModel的區別?

回答

0

經過一番研究,我發現了這個問題。這是ActiveFrom中的一個錯誤,沒有使用i18n翻譯。我已修復並創建了一個新寶石rails3-active_form

您可以在https://rubygems.org/gems/rails3-active_form找到它。

到此行添加到您的Gemfile:

gem "rails3-active_form", "~> 2.0.0" 

這給你的機型:

require "active_form" 

class ContactForm < ActiveForm 
    attr_accessor :name, :email, :contact_number, :address, :purpose 

    # ... 
end