0

heroku でホストされている ruby​​ on rails アプリのこのメール フォームチュートリアルに従いました。localhost:3000/contact をプルアップするたびに、次のエラーが表示されます。

{:action="home", :controller="contact"} に一致するルートはありません

これが私のroutes.rbファイルの内容です:

Inspired::Application.routes.draw do
  get "pages/home"
  get "pages/about_us"
  get "pages/web_design"
  get "pages/portfolio"
  get "pages/contact"

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

  root :to => 'pages#home'
end

どこが間違っているのかわからない。新規または作成に移動するはずのアクションがホームに移動するのはなぜですか? ありがとう!

4

1 に答える 1

0

誤って 2 つのルートに contact_path (:as はルートに名前を付けます) という名前を付けて、:get one をオーバーライドしているようです。2 番目の URL の名前を変更すると、次のように機能するはずです。

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

それとも、RESTful リソースに変更しますか?

resources :contact_messages
于 2012-11-03T00:53:47.023 に答える