2016-09-10 12 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' 

Rake маршруты:

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

ответ

1

Проблемы вы пытаетесь отобразить форму в contato.html.erb, для которых нет GET запроса определен. Не используйте одно и то же действие для запросов GET и POST.

Создать новое действие для отображения формы

def new 
    #renders new.html.erb 
end 

Добавьте следующий маршрут к routes.rb

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

Перемещение формы new.html.erb, а затем обработать форму в contato действия

Смежные вопросы