维护Js和Rails之间的区域设置

时间:2013-01-07 02:47:47

标签: javascript ruby-on-rails-3 backbone.js

我有一个应用程序,它是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。

0 个答案:

没有答案