2009-05-24 81 views
-1

使用Ruby on Rails 2.3.2,因爲我已經爲Story創建了Scaffold,所以我沒有試驗和創建一個名爲「new」的新動作(腳手架中已經存在「new」),而是在控制器中使用了「newnew」文件和查看文件,希望爲什麼在Ruby on Rails上,http:// localhost:3000/stories/newnew會查找記錄id = newnew?

http://localhost:3000/stories/newnew

將是另一種方式來創建一個新的紀錄。但原來的回報率將把「編輯新建」作爲記錄ID,而不是一個行動,據報道:

未能找到ID =編輯新建

故事有沒有一種方法,使newnew也是一個動作?

route.rb有

map.resources :stories 

map.connect ':controller/:action/:id' 
map.connect ':controller/:action/:id.:format' 

,這是Rails的2.3.2

回答

2

問題的根源很可能在您的routes.rb中,您可以將其內容發佈到您的問題中嗎?

根據rails的版本以及您是否使用RESTful資源,行爲會有所不同。無論哪種方式,routes.rb應該持有答案。

+0

請閱讀更新 – 2009-05-24 04:32:01

0

的默認行爲是列出與這樣的一個URL的東西。你可以在故事控制器中實現newnew,但爲什麼?

2
map.resources :stories, :collection => {:newnew => :get} 

...會將newnew映射添加到故事集合中。這將知道/stories/newnew並不意味着指的是故事的一個實例。

here