Rails 4:无效的路由名称,已在使用中(ArgumentError)

时间:2014-06-20 18:59:45

标签: ruby-on-rails routes

错误说的是实话,我使用了路线名称'联系'两次,但一次匹配用于get请求,另一次匹配用于post。我一直在按照以下教程在Rails中设置联系表单:http://matharvard.ca/posts/2011/aug/22/contact-form-in-rails-3/,作者建议将以下内容添加到我的路由文件中:

match 'contact' => 'contact#new', :as => 'contact', :via => :get
match 'contact' => 'contact#create', :as => 'contact', :via => :post

然而,这给了我以下错误:

Invalid route name, already in use: 'contact'  (ArgumentError)

这是我自己的routes.rb文件:

Fls::Application.routes.draw do
  root 'welcome#index'
  match 'contact' => 'contact#new', :via => :get
  match 'contact' => 'contact#create', :as => 'contact', :via => :post
end

1 个答案:

答案 0 :(得分:1)

执行以下操作而不是上述操作:

resource :contact, only: [:new, :create]

OR

get 'contact' => 'contact#new'
post 'contact' => 'contact#create', :as => 'contact'