I am doing a small project to get to know Rails. I have the following code:
Event.rb model
class Event < ApplicationRecord
validates :title, presence: true
validates :date, presence: true
has_and_belongs_to_many :users
end
View app /views/events/new.html.erb
<h1> Create event </h1>
<p> Create a new event here: </p>
<%= form_for @event do |e| %>
<%= e.label :title %>
<%= e.text_field :title %> <br />
<%= e.label :date %>
<%= e.text_field :date %> <br />
<%= e.submit %>
<% end %>
application controller / controllers / events_controller.rb
def create
@event = Event.new(event_params)
if @event.save
render html: "Event saved!"
else
render html: "Didn't work :("
end
end
private
def event_params
params.permit(:title, :date)
end
Routes
get "events" => "events#index"
get "events/new" => "events#new"
post "events" => "events#create"
However, every time I submit, the parameters become empty:

I did not use the resource: events and instead did it manually for practice. Why are parameters not selected?
source
share