Прошло некоторое время с тех пор, как я программировал в Rails... узнавая все о синтаксисе и изменениях Rails 5.0.
Использование Rails 5.0.0.1
Использование Ruby ruby 2.3.1p112 (26 апреля 2016 г., редакция 54768) [x86_64-darwin16]
Я пытаюсь настроить простую форму обратной связи на целевой странице. Я собираюсь отправить электронное письмо прямо из формы, а не сохранить его в базе данных.
Я использую гем mail_form и следую этому поток
Я знаю, что делаю некоторые ошибки новичка на своих контроллерах, но после нескольких вопросов и ответов по стеку я все еще не совсем там.
Модель успешно отправляет электронную почту в Rails Console. Я просто не могу заставить контроллер работать. Это одностраничный сайт, поэтому я добавляю фрагменты на страницу индекса в папку просмотра страниц.
Ошибка, которую я получаю
AbstractController::ActionNotFound (The action 'create' could not be found for PagesController):
Маршруты
Rails.application.routes.draw do
get 'users/new'
resources :pages
root 'pages#index'
end
Частичная форма
приложение/просмотры/страницы/_form.html.erb
<%= form_tag(pages_path) do %>
<div class="row">
<div class="column width-6">
<%= text_field_tag 'firstname', nil, class: 'form-element rounded large', placeholder: 'First Name*', tabindex: '1' %>
</div>
<div class="column width-6">
<%= text_field_tag 'lastname', nil, class: 'form-element rounded large', placeholder: 'Last Name*', tabindex: '2' %>
</div>
<div class="column width-6">
<%= email_field_tag 'email', nil, class: 'form-element rounded large', placeholder: 'Email Address*', tabindex: '3' %>
</div>
<div class="column width-6">
<%= text_field_tag 'website', nil, class: 'form-element rounded large', placeholder: 'Website', tabindex: '4' %>
</div>
<div class="column width-6">
<%= text_field_tag 'phone', nil, class: 'form-element rounded large', placeholder: 'Phone', tabindex: '5' %>
</div>
</div>
<div class="row">
<div class="column width-12">
<%= text_area_tag 'message', nil, class: 'form-element rounded large', placeholder: 'Message*', tabindex: '6' %>
</div>
<div class="column width-12">
<%= submit_tag 'Send Email', class: 'form-submit button rounded medium bkg-theme bkg-hover-green color-white color-hover-white' %>
</div>
</div>
<% end %>
Контроллер страниц
class PagesController < ApplicationController
def index
@contact = Page.new(params[:page])
if @contact.deliver
redirect_to :back, :notice => "Thank you for contacting us, We'll get back to you shortly!"
else
flash.now[:error] = 'Sorry, it looks like there was an error with your message, Please give us a call or shoot us a text at ....'
end
end
end
Спасибо за помощь. Это удивительное сообщество!
resources :pages
в вашroutes.rb
файл - person Blair Anderson   schedule 27.09.2016