一千萬個為什麽

搜索

rails foobar_path(3)返回奇怪的路徑:“/ foobar.3 /”而不是“/ foobar/3 /

嗨,我有這個starnge行為......

 "put" %>

生產:

Research_4

a href="/foobar.1" this is the strange part :( any ideas whqt is causing this?

rake路線給出以下內容:

new_brain GET /brain/new(.:format) {:controller=>"brains", :action=>"new"}

   edit_brain GET    /brain/edit(.:format)              {:controller=>"brains", :action=>"edit"}
        brain GET    /brain(.:format)                   {:controller=>"brains", :action=>"show"}
              PUT    /brain(.:format)                   {:controller=>"brains", :action=>"update"}
              DELETE /brain(.:format)                   {:controller=>"brains", :action=>"destroy"}
              POST   /brain(.:format)                   {:controller=>"brains", :action=>"create"}

最佳答案

  1. 你如何路線你的foobar? (單數或復數?資源還是資源?)

  2. 您確定使用的是 foobar_path(1),而不是 foobars_path(1)(單數形式)

in real life foobars_path(1) will return /foobars.1 and foobar_path(1) - /foobar/1

as I see you have to use brain_path(1) not brain_path(1)

UPD </強>

改變你的route.rb

map.resources :brain

如果你將你的控制器重命名為復數大腦會更好 - 當你使用資源時更常規

轉載註明原文: rails foobar_path(3)返回奇怪的路徑:“/ foobar.3 /”而不是“/ foobar/3 /