1. 程式人生 > >使用Heroku,需要將locale設定為zh_CN,而不是zh-CN

使用Heroku,需要將locale設定為zh_CN,而不是zh-CN

使用Heroku,需要將locale設定為zh_CN,而不是zh-CN

我想大概是因為在application.rb中,config.i18n.default_locale預設接受的值是Symbol, 而當我們用zh-CN的時候,不得不用雙引號括起來,

但是實際Rails讀取的時候,可能直接使用 :zh-CN這樣的標誌,所以會出現以下錯誤提示

ActionView::Template::Error (:zh is not a valid locale):

所以我們把涉及的所有檔案都可以修改為zh_CN則可以在使用gem時避免很多這種錯誤。

比如我這個錯誤是由於devise引起的,所以我做了以下修改:


首先在application.rb中,將

config.i18n.default_locale = :"zh-CN" 修改為 config.i18n.default_locale = :zh_CN

然後重新命名locale下面的zh-CN.yml到zh_CN.yml, devise.zh-CN.yml到devise.zh_CN.yml


最後,別忘了將zh_CN.yml 和devise.zh_CN.yml檔案中的zh-CN替換為zh_CN



重啟伺服器!