要有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文件裏有配置,一直在裏面找,被自己的固定思維給圈住了
頁面代碼:
<h2><%= pluralize(@product.errors.count, "error") %> prohibited this product from being saved:</h2>
但是如果顯示漢字不止要把prohibited this product from being saved:換爲漢字,還要去掉pluralize,因爲不去掉這個方法,他會根據count返回的數字有處理,單數正常顯示,複數後邊會有個s,所以變成這樣可以:
<h2><%= @product.errors.count %> 個錯誤發生導致無法被保存</h2>
顯示效果:
3 個錯誤發生導致無法被保存
不然去掉那個方法會變爲