要有zh-CN.yml这个文件,这个可以去github上下载,有别人做的
成都创新互联公司专注于巴马网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供巴马营销型网站建设,巴马网站制作、巴马网页设计、巴马网站官网定制、重庆小程序开发公司服务,打造巴马网络公司原创品牌,更为您提供巴马网站排名全网营销落地服务。
要安装i18n 的gem
config下application.rb里要有config.i18n.default_locale = "zh-CN"
在yml文件里加上
zh-CN:
activerecord:
attributes:
product:
title: "标题"
description: "描述"
p_w_picpath_url: "图片"
因为我猜测是和下边标红的有关系,有对应的messages,却没有attributes,经过查询资料后发现确实是这个问题,上边product是我的model,title等是我的数据库对应字段名称,试过后提示果然是中文了。
errors:
format: ! '%{attribute}%{message}'
messages:
accepted: 必须是可被接受的
但是还有一个问题,在页面的顶端还有英文:
3 errors prohibited this product from being saved:
终于找到了,这个其实是自己想多了,他就在页面上,我却以为是yml文件里有配置,一直在里面找,被自己的固定思维给圈住了
页面代码:
<%= pluralize(@product.errors.count, "error") %> prohibited this product from being saved:
但是如果显示汉字不止要把prohibited this product from being saved:换为汉字,还要去掉pluralize,因为不去掉这个方法,他会根据count返回的数字有处理,单数正常显示,复数后边会有个s,所以变成这样可以:
<%= @product.errors.count %> 个错误发生导致无法被保存
显示效果:
3 个错误发生导致无法被保存
不然去掉那个方法会变为
3 s个错误发生导致无法被保存
网站题目:rubyonrails校验信息修改为中文
地址分享:http://scyingshan.cn/article/poeoph.html