Я новичок в RoR, и я пытаюсь создать регистрационную форму. Когда я нажимаю «Создать учетную запись», данные не сохраняются в базе данных. Я добавил ресурсы: пользователи в файл маршрутов. Есть что-то еще, что мне не хватает?Данные формы не сохраняются в базе данных
Это мое мнение (signup.html.erb)
регистрация
<%= form_for @user, :url => { :action => "create" } do |f| %>
<%= f.label :emp_id,"Employee ID" %><br>
<%= f.text_field :emp_id, class: 'form-control' %><br><br>
<%= f.label :password, "Password" %><br>
<%= f.password_field :password, class: 'form-control' %><br><br>
<%= f.label :password_confirmation, "Password Confirmation" %><br>
<%= f.password_field :password_confirmation, class: 'form-control' %><br><br>
<%= f.submit "Create my account", class: "btn btn-primary" %>
<% end %>
Это мой контроллер
class UsersController < ApplicationController
def new
@user = User.new
end
def signup
@user = User.new
end
def show
@user = User.find(params[:id])
end
def create
@user = User.new(user_params)
if @user.save
render 'login'
else
render 'signup'
end
end
def user_params
params.require(:user).permit(:emp_id, :password)
end
end
Вы должны разрешить 'password_confirmation' тоже – Iceman
ошибки отображения на странице просмотра, это даст вам представление о том, что отсутствует в форме. '@ user.errors' – TarunJadhwani
Рельсы включают в себя изящный маленький драгоценный камень под названием' byebug' по умолчанию. Если вы добавите строку 'byebug' сразу после' @user = User.new (user_params), то рельсы войдут в отладчик. Поэтому перезагрузите страницу в своем браузере (она остановится), а затем переключитесь на оболочку, в которой вы используете сервер. Это даст вам интерактивную оболочку, в которой вы можете затем проверить, например, '@ user.valid?' И '@ user.errors', а также посмотреть параметры. – max