Сначала начните с создания правильных маршрутов:
resources :posts
В Rails вы создаете ресурс, отправляя запрос POST на путь сбора ('/posts').
Затемсоздайте форму с помощью form_for(@post)
или form_with(model: @post)
(Rails 5.1+) и привяжите экземпляр модели к построителю формы.
<%= form_for(@post) do |f| %>
<div class="form">
<div class="form-body">
<% f.object.errors.full_messages.each do |message| %>
<div class="form-error">
<%= message %>
</div>
<% end %>
<div class="continent">
<%= f.label :continent do %>
<%= f.select :continent,
[["Africa","AF"],["North America","NA"],["Oceania","OC"],["Asia","AS"],["Europe","EU"],["South America","SA"]],
prompt: "Select" %>
<% end %>
</div>
<div class="country">
<%= f.label :country do %>
<%= f.select :country,
[["Japan","JP"],["China","CH"]],
:prompt => "Select" %>
<% end %>
</div>
<div class="title">
<%= f.label :title do %>
<%= f.text_area_field :title %>
</div>
<%= f.submit %>
</div>
</div>
<% end %>
Это позволяет повторно использовать ту же форму для обновления ресурса. Также, когда вы используете входные помощники, рельсы будут правильно называть входы, чтобы вы могли внести их в белый список:
params.require(:post).permit(:continent, :country, :title)