gpt4 book ai didi

ruby-on-rails - 如果 Rails 中缺少区域设置,则默认区域设置

转载 作者:行者123 更新时间:2023-12-04 18:06:46 26 4
gpt4 key购买 nike

我已将我的网络应用程序翻译成英语和克罗地亚语。在我的 config/application.rb 中将英语设置为默认语言环境并启用所有后备:

config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
config.i18n.default_locale = :en
config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif)
I18n.enforce_available_locales = true
config.i18n.fallbacks = true
config.i18n.fallbacks = [:en]
config.i18n.fallbacks = {'es' => 'en', 'fr' => 'en', 'de' => 'en'}

我的 config/routes.rb 是这样定义的:

scope "(:locale)", :locale => /en|hr/ do
root :to => 'static_pages#home'
match 'signin', to: 'sessions#new', via: 'get'
match 'signout', to: 'sessions#destroy', via: 'delete'
match '/signup', to: 'users#new', via: 'get'
match '/about', to: 'static_pages#about', via: 'get'
resources :sessions, only: [:new, :create, :destroy]
resources :relationships, only: [:create, :destroy]

resources :users do
member do
get :following, :followers
end
end

end

当用户使用应用程序并在语言之间切换时一切正常,但如果用户转到 url 并输入例如“es”而不是“en”或“hr”,我会收到路由错误页面错误描述:没有路由匹配 [GET] "/es/signin"

如果 locales 文件夹中的整个 .yml 文件都丢失了,我该如何回退到英语语言环境?

最佳答案

es 或任何其他语言环境添加到 config/routes.rb 中的正则表达式::locale =>/en|hr|es/。除了这些值之外的任何值都会导致路由错误。

关于ruby-on-rails - 如果 Rails 中缺少区域设置,则默认区域设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24777405/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com