2016-09-10 15 views
0

連絡先フォームを使用したいと思いますが、ルーティングエラーが発生しました。[GET] "/ contato"と一致するルートがありません

No route matches [GET] "/contato" 

マイビュー(contato.html.erb):

<%= form_tag(contato_path, method: :post) %>    

    <div class="row"> 
     <div class="col-md-12"> 
      <%= text_field_tag 'name', placeholder: "Name", class: "form-control" %> 
     </div> 
    </div> 

    <div class="row"> 
     <%= submit_tag 'Send' %>  
    </div> 

<% end %> 

マイコントローラ(pages_controller.erb):

クラスをPagesController < ApplicationControllerに

def home 
    ..... 
    end 

    def search 
    ..... 
    end 

    def contato 
    ..... 
    end 
end 

ルート:

post '/contato' => 'pages#contato' 

レーキ路線:

contato_path POST /contato(.:format) pages#contato 

答えて

1

問題は、あなたが定義されGET要求がありませんそのためcontato.html.erbでフォームを表示しようとしているです。 GETPOSTリクエストの両方に同じアクションを使用しないでください。

def new 
    #renders new.html.erb 
end 

があなたのroutes.rb

get '/new' => 'pages#new' 

に次のルートを追加し、フォームに表示new.html.erbにフォームを移動してからcontatoアクションでフォームを処理するために新しいアクションを作成します。