Проблемы с маршрутизацией на Rails 3 (относятся к единственному / множественному числу) - PullRequest
1 голос
/ 09 ноября 2010

Я прочитал о том, как работает маршрутизация в Rails 3, но столкнулся с некоторыми трудностями.

В моем приложении есть блоги, а мой route.rb содержит:

  resources :blogs
  root :to => "home#index"

URL-адреса, содержащие «блоги», работают нормально.

Однако я бы хотел, чтобы в URL был «блог». В частности, / blog /: id (для просмотра) и / blog (для индекса).

Если я добавлю строку:

match 'blog' => 'blogs#index'

Затем / blog показывает индекс, однако он нарушает форму редактирования моего блога, когда URL-адрес действия изменяется с / blog /: id на /blog.:id

.

Есть какие-нибудь идеи о том, как использовать блог вместо блогов, а также о том, чтобы индекс блога был включен / блог? Я перепробовал несколько вещей (например, resource: blog , а также resources: blogs,: as => 'blog' ) и никуда не попал. Предполагая, что есть способ сделать это без ручного определения каждого маршрута для показа, редактирования, уничтожения и индексации.

Ответы [ 2 ]

4 голосов
/ 09 ноября 2010

Вам необходимо использовать: путь путь

resources :blogs, :path => 'blog'
0 голосов
/ 09 ноября 2010

Удалите строку match и измените строку resouces на:

resources :blogs, :path => 'blog'

Проверьте: http://edgeguides.rubyonrails.org/routing.html#translated-paths

...