ruby on rails校驗信息修改爲中文

  1. 要有zh-CN.yml這個文件,這個可以去github上下載,有別人做的

  2. 要安裝i18n 的gem

  3. config下application.rb裏要有config.i18n.default_locale = "zh-CN"

  4. 在yml文件里加上

  5. zh-CN:

  6.   activerecord:  

  7.     attributes:  

  8.       product:  

  9.         title: "標題"  

  10.         description: "描述"

  11.         p_w_picpath_url: "圖片"

    因爲我猜測是和下邊標紅的有關係,有對應的messages,卻沒有attributes,經過查詢資料後發現確實是這個問題,上邊product是我的model,title等是我的數據庫對應字段名稱,試過後提示果然是中文了。

  12.  errors:

  13.     format: ! '%{attribute}%{message}'

  14.     messages:

  15.       accepted: 必須是可被接受的

    但是還有一個問題,在頁面的頂端還有英文:

  16. 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 個錯誤發生導致無法被保存

不然去掉那個方法會變爲

3 s個錯誤發生導致無法被保存


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章