0
我需要語言環境添加的,而不是所有的更新和*_path
電話*_url
我想一個default_url_options
方法添加到我的應用程序控制器的所有路由,這是我使用default_url_options不覆蓋路由默認
def default_url_options
{ locale: (I18n.locale == I18n.default_locale ? nil : I18n.locale.to_sym) }
end
這是我的路線文件:
locales = I18n.available_locales - [:en]
scope '(:locale)', locale: /#{locales.join('|')}/, defaults: { locale: I18n.default_locale } do
get '/login', to: 'sessions#new', as: :login
root to: 'home#index'
match '*a', to: '#missing_action', via: :all, as: nil
end
login_url
將呈現http://localhost:3000/login
這不是我想要的。
如果我從我的路線範圍刪除defaults:
我得到了正確的網址
http://localhost:3000/login
當:locale
是我的默認語言環境http://localhost:3000/es/login
當:locale
是我:es
我使用Rails 5.1.3
您鏈接這個答案是我使用的是什麼,也爲它增加了一個超類所有的命名空間是行不通的控制器 –