我正在使用js-routes gem(https://github.com/railsware/js-routes)和Rails 4.0.0。將語言環境參數追加到由軌道中的js-routes gem生成的所有路徑中
我想要做的是在我的rails應用程序中包含js-routes生成的每條路線中的當前區域設置字符串。此語言環境字符串(例如「en」)將從當前請求的查詢字符串中提取。 (因此,如果用戶決定切換語言環境,它可以從一個頁面負載變化到另一個頁面負載。)
在application_controller.rb中,我有以下內容來發送和接收語言環境。這成功地追加由Rails生成的路由中的語言環境參數,但不能由js-routes追加。 (沒有在配置/ routes.rb中設置)
application_controller.rb:
before_filter :set_locale
def set_locale
I18n.locale = params[:locale] || I18n.default_locale
end
def default_url_options(options={})
{ locale: I18n.locale }
end
在javascript中我可以打電話Routes.login_path()
得到/login
,但我想/login?locale=en
而無需語言環境傳遞給login_path()
方法。對於我所有的其他路線也是如此。
我的問題是如何讓js-routes爲其生成的所有路由添加「locale」參數,例如, /login?locale=fr
,而不必將任何其他選項傳遞給路線功能。