我有以下Rails代码:
我试图以此设置我的应用程序的语言
def changelocale
if Settings.language_supported?(params[:locale])
session[:locale] = params[:locale]
I18n.locale = params[:locale]
end
render "startsite"
end
我想要的是语言切换将影响当前页面。渲染“开始站点”是问题所在,但是什么是解决此问题的好方法呢?
谢谢
这些片段是您需要的:
class ApplicationController < ActionController::Base
before_action :set_locale
def set_locale
I18n.locale = params[:locale] || I18n.default_locale
end
def default_url_options(options = {})
{ locale: I18n.locale }.merge options
end
end
第一种方法切换语言环境方法,第二种方法始终将语言环境参数附加到请求中。
编辑评论:
# config/routes.rb
scope "/:locale" do
resources :books
end
从Rails的文档中:http : //guides.rubyonrails.org/i18n.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句