0

我有一个应用程序,它是 Ruby on Rails/Devise 前端,然后是 Backbone.js。在 app/views/layouts/application.html.erb 我有这个:

<head>
...
<script type="text/javascript">
  I18n.locale = "<%= I18n.locale %>"
  I18n.defaultLocale = "<%= I18n.default_locale %>"
</script>

然后用户可以选择自己的语言环境。现在,在 Ruby on Rails 部分,我在应用程序控制器中有这个:

class ApplicationController
before_filter :set_locale
  def set_locale
    I18n.locale = params[:locale] || I18n.default_locale
  end
  def default_url_options(options={})
    { :locale => I18n.locale }
  end

我遇到的问题是 Backbone.js 片段没有从 Ruby on Rails 片段中“获取”语言环境,用户必须再次选择语言环境。如何将语言环境“注入”到 Backbone.js 片段中,以便用户不必再次选择它?

更多信息:其中一条评论完全正确。Javascript 控制台显示 Backbone.js 部分没有从 Ruby on Rails/Devise 获取语言环境 - Javascript 控制台首先显示默认设置。不知何故,我没有将语言环境传递给 Backbone.js。

4

0 回答 0