我是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
答案 0 :(得分:1)
您需要允许:password_confirmation
def user_params
params.require(:user).permit(:emp_id, :password, :password_confirmation)
end
并确保没有其他验证,如email
存在或将导致验证失败