form_for с использованием экземпляра базовой модели, например, здесь @post в качестве модели
<%= form_for @post do |form| %>
<%= form.text_field :author %>
<%= form.submit “Create” %>
<% end %>
form_tag является помощником формы, но don't have
базовой моделью, и вы должныиспользуйте text_field_tag вместо text_field
<%= form_tag “/posts” do %>
<%= text_field_tag “post[author]” %>
<%= submit_tag “Create” %>
<% end %>
form_with объединит form_for и form_tag, и позже эти два будут объединены с form_with
здесь реализация form_for и form_tag с использованием form_with,как вы можете видеть ниже, разница, если вы передаете form_with с моделью, она будет работать как form_for, но если вы передадите ей url, тогда она будет работать как form_tag
<%= form_with model: @post do |form| %>
<%= form.text_field :author %>
<%= form.submit “Create” %>
<% end %>
<%= form_with url: “/posts” do |form| %>
<%= form.text_field :author %>
<%= form.submit “Create” %>
<% end %>
, в то время как для вашей проблемы нет вариантов as
, вы можете проверить по этой ссылке более подробные параметры