我有一個控制器,可以在聯繫頁面上控制聯繫我們的表單。在routes.rb
文件中,我有一行說match '/contact', :to => 'feedback#new'
。現在當表格填寫正確時,一切正常;網址是'/ contact'。但是,如果表格填寫不正確,我的控制器renders 'new'
和URL從'/contact'
更改爲'/feedback'
。有人可以告訴我爲什麼會發生這種情況,以及我如何解決這個問題,以便如果驗證被觸發並且頁面被渲染,那麼url將會是/contact
,而不是/feedback
?謝謝!Rails:爲什麼在調用`render'new'`時自定義url會被改變?
我的控制器代碼:
你可以列出你`配置/ routes.rb`文件的內容? [編輯]視圖代碼也會有幫助。如果您使用`form_for(@feedback)`,當表單發佈時,它會對`/ feedback`進行POST,因爲Rails使用RESTful URL。請記住,URL是基於控制器和操作的路由,而不是您要呈現的視圖的名稱。 `FeedbackController#create`可能映射到`/ feedback`(檢查`rake routes`) – 2011-02-08 17:35:38
你是對的`FeedbackController#create`映射到`/ feedback`路由。那麼我應該怎麼做才能回答我的上述問題? – agentbanks217 2011-02-08 18:25:14