Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 获取I18n::InvalidLocale(:en不是有效的区域设置):关于rails的ajax请求_Jquery_Ruby On Rails_Ajax - Fatal编程技术网

Jquery 获取I18n::InvalidLocale(:en不是有效的区域设置):关于rails的ajax请求

Jquery 获取I18n::InvalidLocale(:en不是有效的区域设置):关于rails的ajax请求,jquery,ruby-on-rails,ajax,Jquery,Ruby On Rails,Ajax,当我加载页面时,通常不会显示任何区域设置错误,但当我执行ajax请求时,我得到 I18n::InvalidLocale (:en is not a valid locale): i18n (0.7.0) lib/i18n.rb:284:in `enforce_available_locales!' i18n (0.7.0) lib/i18n.rb:151:in `translate' i18n (0.7.0) lib/i18n.rb:168:in `translate!' //aj

当我加载页面时,通常不会显示任何区域设置错误,但当我执行ajax请求时,我得到

I18n::InvalidLocale (:en is not a valid locale):
  i18n (0.7.0) lib/i18n.rb:284:in `enforce_available_locales!'
  i18n (0.7.0) lib/i18n.rb:151:in `translate'
  i18n (0.7.0) lib/i18n.rb:168:in `translate!'
//ajax请求

$.ajax({
  url: "/unlock_company",
  type: "GET",
  dataType: 'json',
  success: function(data) {
    console.log(data);
  }
});
在控制器中

def unlock_company
 respond_to do |format|
  format.json {render json: { :result => '@result'}}
 end
end
在application.rb文件中

config.i18n.enforce_available_locales = true
I18n.config.enforce_available_locales = true
config.i18n.available_locales = [:"en-US"]

请尝试对长区域设置名称使用字符串而不是符号:

config.i18n.available_locales = ["en-US"]

我不确定这是否是一个解决方案,但它可能值得研究。简单的测试。您没有提到您正在使用的Rails版本,但在Rails 4-ish中,这些版本已被弃用:

config.i18n.enforce_available_locales = true
I18n.config.enforce_available_locales = true
在过去,I18n有一个bug,它产生了与您看到的相同的错误。错误/错误是使用.enforce\u available\u区域设置触发的。更多


由于.enforce\u available\u locales默认为true,您应该将其从application.rb中删除,作为一种副作用,它可能会消除错误。

我也有同样的问题,我将以下几行添加到我的application.rb文件中,解决了问题:

config.i18n.fallbacks = true
config.i18n.enforce_available_locales = false

请从
Gemfile.lock中显示Rails版本和i18n版本。