у меня есть URLСтранный вопрос локаль в Rails
<li><%= link_to "#{t('feed.add')}", feed_path(locale) %></li>
И проблема в том, что после регистрации, при нажатии на эту ссылку в первый раз он перенаправляет меня на mydomain.com/feed
и выводит следующую ошибку :
"feed" is not a valid locale
в
def set_locale
I18n.locale = params[:locale] || I18n.default_locale
end
Но когда я вернусь назад и нажмет снова повторно направляет меня на:
mydomain.com/en/feed
Итак, в чем проблема этой странной проблемы?
UPDATE
devise_for :admin_users, ActiveAdmin::Devise.config
ActiveAdmin.routes(self)
match '', :via => [:get], to: redirect("/#{I18n.locale}")
get '/en/youarethechampion' => "winners#winner"
get "/en/hook" => "feed#hook"
get '/thisvideonotfound' => 'feed#notFound'
get '/:locale/feed', to: 'feed#index', as: 'feed'
post '/:locale/feed/create', to: "feed#create"
get '/:locale/feed/new', to: "feed#new", as: 'feed_new'
get '/:locale/feed/destroy', to: "feed#destroy", as: 'feed_destroy'
get '/:locale/feed/edit', to: "feed#edit", as: 'feed_edit'
get '/:locale/feed/update', to: "feed#update", as: 'feed_update'
scope :path => "(:locale)", :locale => /en|ru/ do
devise_for :users
end
match '/:locale/posts/search/', to: 'home#search', as: 'search', via: :get
get '/:locale/page/:page_slug' => 'home#about'
get '/:locale/:category/:id/', to: 'home#show', as: 'feed_show'
get '/:locale/:id/', except: 'search', to: 'home#by_category', as: 'category'
get '/:locale/posts/user/:name/', to: 'home#by_user', as: 'user'
get '/:locale/posts/tag/:tag/', to: 'home#by_tag', as: 'tag'
get '/:locale/pages/:page/', to: 'page#show', as: 'page'
post '/feed/:id/comments/', to: 'home#create_comment'
get '/:locale/', to: "home#index"
Сообщение ваши маршруты файл локали файл (например, en.yml) и application.rb – shlajin
Что такое значение 'locale', когда вы делаете' feed_path (локаль) '? –
Также вы можете подставить '' # {t ('feed.add')} "' с 't ('feed.add')' - Не относится к ответу, хотя – AbM