совершенно новичок в Ruby и Rails, так что это, вероятно, глупый вопрос;)
Я пытаюсь получить маршрут «i18n», работающий с пространством имен «admin».
Итак, мой файл маршрутов выглядит так
scope '/:locale' do
root 'admin#index', as: :root
namespace :admin do
resources :foos
end
end
В моем ApplicationController у меня есть
before_action :set_locale
def set_locale
I18n.locale = params[:locale] || I18n.default_locale
end
def default_url_options(options={})
{ locale: I18n.locale }
end
Если я "разгребаю маршруты", то получаю следующее
root GET / admin#index
GET /:locale(.:format) admin#index
admin_foos GET /:locale/admin/foos(.:format) admin/foos#index
И я могу связаться с /en/admin/foos
Проблема, с которой я столкнулся, заключается в том, что если я напечатаю путь в представлении (даже путь из моей формы,...), я получу путь /admin/foo?locale=en. И этот URL с окончанием 404.
Вызовы пути просты, такие
<%= link_to 'Back', admin_foos_path %>
Я думаю, что я что-то упускаю, но понятия не имею, что. Любая помощь будет оценена!
С уважением, Бенджамин