age*_*217 11 controller ruby-on-rails url-routing ruby-on-rails-3
我有一个控制器,用于控制联系页面上的联系我们表单.在routes.rb文件中我有一行说match '/contact', :to => 'feedback#new'.现在当表格填写正确时,一切正常; 网址是'/ contact'.但是,当表单未正确填写时,我的控制器renders 'new'和URL将更'/contact'改为'/feedback'.有人能告诉我为什么会发生这种情况以及我如何解决这个问题,以便如果验证被触发并且页面被渲染,那么网址是否/contact仍然存在/feedback?谢谢!
我的控制器代码:

match '/contact', :to => 'feedback#new'
Run Code Online (Sandbox Code Playgroud)
这条路线将只匹配/contact到FeedbackController#new.
您需要添加以匹配"post"部分 FeedbackController#create
match '/contact', :to => 'feedback#create', :via => :post, :as => :post_contact
# change :as => to whatever path for this you'd like to use, ex :as => :create_contact
Run Code Online (Sandbox Code Playgroud)
您的表单现在将更改为
= form_for(@feedback), :url => post_contact_path do |f|
Run Code Online (Sandbox Code Playgroud)
只是使用默认值form_for将尝试从resources您的中创建路径routes.rb.并且,我假设该路线resources :feedback当然会创建看起来像的路线/feedback.
| 归档时间: |
|
| 查看次数: |
5702 次 |
| 最近记录: |