Итак, я использую form_with, и мой код помещен в views / users / new. html .erb
<% content_for :title, "Sign Up" %>
<% if @user.errors.any? %>
<div id="error_explanation">
<h2>
<%= pluralize(@user.errors.count, "error") %>
prohibited this user from being saved:
</h2>
<ul>
<% @user.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<%= form_with model: @user do |f| %>
<%= f.label :email %>
<%= f.email_field :email, :placeholder => 'E-mail address' %><br>
<%= f.label :password %>
<%= f.password_field :password, :placeholder => 'Password' %>
<%= f.label :password_confirmation %>
<%= f.password_field :password_confirmation, :placeholder => 'Password confirmation' %><br>
<label>Are you a cleaner or customer?</label>
<%= f.select :user, User::SUB_CLASSES, include_blank: true %><br>
<%= f.submit "Next" %>
<% end %>
Мой контроллер имеет следующий код
def new
@user = User.new
render :layout => "beforelogin"
end
def create
@user = User.new(user_params)
if @user.save
session[:user_id] = @user.id
if @user.sub_class == "Cleaner"
redirect_to new_cleaner_path
else
redirect_to new_customer_path
end
else
render :new
flash[:alert] = "Your registration could not be completed"
end
end
Теперь, когда я заполняю форму на user / new. html .erb route, ничего не происходит. Кнопка просто нажимает. Никаких ошибок не появляется. Я даже пытался добавить в верхнюю часть формы <%= form_with model: @user, url: users_path, method: "post" do |f| %>
. Все тот же ответ.