controller_path (объект) возвращает website.com/controller.1 - PullRequest
0 голосов
/ 27 февраля 2011

Я вручную создал новый вид для существующей модели лесов в моем приложении Rails, потому что, как мне показалось, в этом и заключается смысл, я могу создать несколько видов для одной и той же модели. Кажется, все работает нормально, за исключением того, что когда я пытаюсь связать элемент с представлением, Rails выдает мне неправильный URL.

  • rout.rb имеет соответствующий "resources: controller"
  • controller_controller.rb существует и отлично работает
  • views / controller / show.html.erb существует и отлично работает
  • link_to "controller", controller_path # работает отлично

link_to "controller", controller_path (object) # ссылается на контроллер, но добавляет идентификатор как ".id" вместо "/ id"

Есть идеи, почему?

вывод рейковых маршрутов

pups     GET /pups(.:format)          {:action=>"index", :controller=>"pups"} 
         POST /pups(.:format)         {:action=>"create", :controller=>"pups"} 
new_pup  GET /pups/new(.:format)      {:action=>"new", :controller=>"pups"} 
edit_pup GET /pups/:id/edit(.:format) {:action=>"edit", :controller=>"pups"}
pup      GET /pups/:id(.:format)      {:action=>"show", :controller=>"pups"} 
         PUT /pups/:id(.:format)      {:action=>"update", :controller=>"pups"} 
         DELETE /pups/:id(.:format)   {:action=>"destroy", :controller=>"pups"}

1 Ответ

0 голосов
/ 27 февраля 2011

Убедитесь, что ваш link_to использует pup_path(object) а не pups_path(object) (множественное число).

...