Как исправить ошибку маршрутизации, не совпадающую с маршрутом [GET] «/ pages / send_form»?

#ruby-on-rails

#ruby-on-rails

Вопрос:

Я настраиваю так, чтобы пользователь мог отправлять электронное письмо, используя форму «Связаться с нами». Я создал файл с именем «send_form», поэтому при нажатии кнопки отправки автоматически отображается сообщение «Спасибо, что связались с нами».

В прошлом я пытался включить другую маршрутизацию в routes.rb, например, «pages#send_form» и «contact#send_form».

 # Example of regular route:
  get 'about' => 'pages#about'
  get 'contact' => 'pages#contact'
  get 'news' => 'pages#news'
  get 'show' => 'topics#index'
  get 'send_form' => 'pages#send_form'
  get 'new' => 'booking#new'
  

views/pages/contact.html:

 <h1>Any enquiries:</h1>
<center><form name="htmlform" method="get" action="/pages/send_form">
<table width="700px">
<form id="contact_form" action="#" method="POST" enctype="multipart/form-data">
  <div class="row">
    <label for="name">Your Name:</label><br />
    <input id="name" class="input" name="name" type="text" value="" size="30" /><br />
  </div>
  <div class="row">
    <label for="email">Your Email:</label><br />
    <input id="email" class="input" name="email" type="text" value="" size="30" /><br />
  </div>
  <div class="row">
    <label for="message">Your Message:</label><br />
    <textarea id="message" class="input" name="message" rows="7" cols="30"></textarea><br />
  </div>
  <input id="submit_button" type="submit" value="Send email" />
</form> 
  

просмотры / страницы / send_form

 <h1>Thanks for contacting us,</h1>
  

Я ожидаю, что результатом будет «Спасибо, что связались с нами» после нажатия кнопки отправки. Однако я получаю сообщение об ошибке «Нет совпадений маршрута [GET] » / pages / send_form»

Ответ №1:

Измените get 'send_form' => 'pages#send_form' на get 'pages/send_form' => 'pages#send_form' .
Или вместо этого измените действие вашей формы на action="/send_form"