Rails 4 驗證資訊漢化以及樣式修改

天贏金創發表於2014-05-01

gem
gem `rails-i18n`, `~> 4.0.0`
配置檔案
1.config/environments/deveploment.rb

  #配置語言包
  config.i18n.enforce_available_locales = false
  config.i18n.available_locales = ["zh-CN"]

2.config/application.rb

config.i18n.load_path += Dir[Rails.root.join(`my`, `locales`, `*.{rb,yml}`).to_s]
config.i18n.default_locale = :`zh-CN`

我主要用於驗證提示資訊,所以在config/locales下新建檔案zh-CN.yml,用來配置模型欄位的翻譯

zh-CN:
  activerecord:
    attributes:
      article:
        title: `標題`
        text: `內容`

參考:http://ihower.tw/rails3/i18n.html

對於表單樣式的修改
方法一,改樣式

.field_with_errors {display: inline;}

把 field_with_errors 的樣式改得不明顯。

方法二,修改或者去掉 ActionView 預設的 error 結構

在 config/initializers 下面新增一個配置檔案,如errors_config.rb,內容是

ActionView::Base.field_error_proc = Proc.new do |html_tag, instance|
  "#{html_tag}".html_safe
end

這樣會去掉多餘的 field_with_errors,想定製樣式,可以在這個 Proc 裡面做手腳或者在 view 裡面寫邏輯。
參考:http://ruby-china.org/topics/4188

相關文章