2012-01-26 33 views
2

我有控制器my_controller和其中的行動my_action。在my_action視圖中,我創建了一個表單並手動設置:<%=form_tag('/photos/create') do%>。當我把這種形式在photos控制器這個動作,我會得到錯誤建立表單地址的正確方法是什麼?

No route matches [POST] "/photos/create" 

(顯然動作createphotos控制器存在) 我的問題是,爲什麼我收到這個錯誤,當這個動作是存在的,我該如何解決它(手動設置地址的正確方法是什麼)?

回答

2

因爲你的路線不正確。對於照片的create操作應該是/photos路線,而不是POST。您可以通過在命令行運行rake routes來驗證這一點,以獲取所有路由的列表以及它們如何映射到控制器操作。

試試這個:

<%=form_tag(photos_path, :method => :post) do%> 

欲瞭解更多信息:http://guides.rubyonrails.org/routing.html

+0

:方法=>:其實後可作爲形式的默認 – alony

+0

@alony同意使用它可以跳過,但想通這將是有益到一個新的Rails用戶可能會被默認值弄糊塗 – iwasrobbed

相關問題