2013-05-16 2 views
0

Я хотел бы использовать ресурсы для создания маршрутов в Ruby on Rails, но мне не нужны пути в URL-адресах. (например, /fishing/3 вместо /board/fishing/thread/3.) Вот моя текущая конфигурация маршрута.Пустые пути в маршрутах Rails

resources :board, :only => [:index, :create, :new], :path => '' do 
    resources :thread, :only => [:index, :create, :new], :path => '' 
end 

Однако маршруты не в порядке. Например, /:board_id(.:format) появляется перед /new(.:format), поэтому невозможно достичь потока # нового действия. Есть ли способ переопределить это?

ответ

0

Так что это немного сложно, так как это может испортить другие маршруты. Ваше текущее решение, вероятно, делает маршруты с двойными слэшами в URL //. Этот маршрут должен находиться рядом или внизу вашего файла маршрута, чтобы все остальные допустимые маршруты были найдены в первую очередь.

match '/:board_id/:id' => 'thread#show', :constraints => { :id => /\d*/ } 
+0

Удивительно, но моя текущая конфигурация маршрута не оставляет двойной косой черты, и у меня не было никаких других проблем с ней, кроме заказа. Ваш вопрос, кажется, предполагает, что я должен вручную выполнять совпадения для каждого действия и называть его днем. Теперь, когда я думаю об этом, это будет не так уж плохо, поскольку вспомогательные функции генерируются с помощью директивы: as. – Vortico

+0

Кажется странным, я подозреваю, что ваш путь к новому потоку с вашей текущей реализацией будет выглядеть как «// fishing // new» –

Смежные вопросы