Wiem, że podobny temat był już poruszany na forum, ale nie znalazłem konkretnej odpowiedzi. Stworzyłem drugi kontroler związany z MailForm.
$ rails generate controller contacts new create
contacts_controller.rb
class ContactsController < ApplicationController
def new
@contact = Contact.new
end
def create
@contact = Contact.new contact_params
#@contact = Contact.new(params[:contact])
@contact.save
redirect_to root_path, notice: "Saved"
end
def contact
params.require(:contact).permit(:name, :phone, :email, :text)
end
end
routes.rb
resources :contacts, only: [:new, :create]
views/contacts/new.html.erb
<%= form_for @contact do |f| %>
<%= f.text_field :name %>
<%= f.text_field :phone %>
<%= f.text_field :email %>
<%= f.text_field :text %>
<%= f.submit %>
<% end %>
$ rake routes show
contacts GET /contacts(.:format) contacts#new
POST /contacts(.:format) contacts#create
new_contact GET /contacts/new(.:format) contacts#new
Problem w tym, że chcąc sprawdzić z konsoli Contact.new dostaję:
2.2.0 :006 > Contact.new
NameError: uninitialized constant Contact
MailForm jest dodany do gema i zainstalowany.
Czy może to być kwestią brakującego modelu? i wpisu w db/migrate?