Rails неправильно отображает мой URL с помощью url_for - PullRequest
1 голос
/ 29 февраля 2012

Я новичок в Rails, но я не могу понять это.

Rails maps url_for(:controller => 'login', :action => 'check') 

до

"/assets?action=check&controller=login"

Он должен быть сопоставлен с / en / login / check (из / en / login / index)

Мои маршруты.рб:

MyApplication::Application.routes.draw do
  scope "(:locale)", :locale => /en|de/ do
    resources :login do
      get 'index', :on => :member
      get 'check', :on => :member
    end

  end

  match ':locale/:controller/:action/:id'
  match ':controller/:action/:id'
  match ':locale/:controller/:action/:id.:format'
  match ':controller/:action/:id.:format'

  root :to => 'main#index'
end

Я прочитаю еще немного о маршрутизации, но я действительно запутался, откуда берется / assets и почему он не отображается правильно.

1 Ответ

3 голосов
/ 29 февраля 2012

Вам необходимо указать: locale в помощнике url_for, иначе маршрутизатор фактически не найдет совпадение.

url_for(locale: 'en', controller: 'login', action: 'index')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...