ruby on rails校验信息修改为中文
要有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文件里有配置,一直在里面找,被自己的固定思维给圈住了
页面代码:
<h3><%= pluralize(@product.errors.count, "error") %> prohibited this product from being saved:</h3>
但是如果显示汉字不止要把prohibited this product from being saved:换为汉字,还要去掉pluralize,因为不去掉这个方法,他会根据count返回的数字有处理,单数正常显示,复数后边会有个s,所以变成这样可以:
<h3><%= @product.errors.count %> 个错误发生导致无法被保存</h3>
显示效果:
3 个错误发生导致无法被保存不然去掉那个方法会变为
3 s个错误发生导致无法被保存声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。