在 Heroku 中部署错误:es 不是有效的语言环境

Posted

技术标签:

【中文标题】在 Heroku 中部署错误:es 不是有效的语言环境【英文标题】:Error to deploy in Heroku :es is not a valid locale 【发布时间】:2014-11-14 14:33:36 【问题描述】:

我有下一个错误,我不知道如何解决,我正在使用 rails 4.1 和 ruby​​ 2.1.3 问题出在我的语言环境文件上,我的应用程序默认使用葡萄牙语,我翻译了所有必需的文件,在我的本地是正确的,但什么时候做

heroku 运行 rake db:migrate

我有下一个错误:

运行 rake db:migrate 连接到终端... up, run.5369 rake 中止! I18n::InvalidLocale: :es 不是有效的语言环境 /app/vendor/bundle/ruby/2.1.0/gems/i18n-0.7.0.beta1/lib/i18n.rb:284:in enforce_available_locales!' /app/vendor/bundle/ruby/2.1.0/gems/i18n-0.7.0.beta1/lib/i18n/config.rb:34:in default_locale=' /app/vendor/bundle/ruby/2.1.0/gems/i18n-0.7.0.beta1/lib/i18n.rb:35:in default_locale=' /app/config/environments/production.rb:75:inblock 在'

我有一个语言环境文件,并且是:

I18n.load_path += Dir[Rails.root.join('lib', 'locales', '*.rb,yml')] I18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.rb,yml')]

I18n.available_locales = Dir[Rails.root.join('config', 'locales', '*.yml')].collect |l|语言环境 = l.scan(/.+/(..).yml/)[0]; locale[0].to_sym 除非 locale.nil?.delete_if |locale| locale.nil?

I18n.default_locale = [:en, :es] I18n.config.enforce_available_locales = 真

在 production.rb 中也有:

I18n.default_locale = :es

我尝试了所有可能的选项,但我没有解决方案 感谢您的时间!

【问题讨论】:

【参考方案1】:

这个问题的解决方法很简单,你需要在你的application.rb中添加这段代码:

I18n.enforce_available_locales = false

问候!

【讨论】:

以上是关于在 Heroku 中部署错误:es 不是有效的语言环境的主要内容,如果未能解决你的问题,请参考以下文章

尽管 SECRET_KEY 错误,但部署在 Heroku 上的 Django 应用程序仍然有效

在 Heroku 部署中构建失败

无需更改代码即可重新部署 Heroku 应用

JWT 功能在本地有效,但在 heroku 上无效

部署到 Heroku 错误。提供日志

Magnific Popup Lightbox 在 Ruby on Rails 开发中有效,但在部署到 Heroku 时无效