Rails 4 验证信息汉化以及样式修改

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

    原文作者:天赢金创
    原文地址: https://segmentfault.com/a/1190000000489534
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞