我正在尝试发出一个Jquery / Ajax发布请求,以便在我的rails后端创建一个新用户。我的用户模式设置如下。
class User < ApplicationRecord
before_save { self.email = email.downcase }
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z/i
validates :email, presence: true, length: { maximum: 255 },
format: { with: VALID_EMAIL_REGEX },
uniqueness: { case_sensitive: false }
has_secure_password
validates :password, presence: true, length: { minimum: 6 }
end
在我的控制器中,我的创建方法定义如下:
def create
@user = User.new(params[user_params]) # Not the final implementation!
if @user.save
#TODO make view
redirect_to root_path
else
#TODO make error messag
redirect_to root_path
end
end
用户参数设置为接受密码和电子邮件。
private
def user_params
params.permit(:email, :password)
end
现在我从前端尝试使用Jquery / Ajax注册一个新用户。 我的jquery代码定义如下:
$("#signupBtn").click(function(){
var email = $("#email_sup").val();
var password = $("#p_sup").val();
var passCon = $("#pc_sup").val();
var d = {
'email': email,
'password': password
};
$.ajax({
type: "POST",
url: "/users",
data: d
}).success(function(json){
console.log("success", json);
});
非常自我解释的Jquery调用。现在这是我的主要问题,不知道为什么,但我得到了一个回滚事务。
我可以从控制台创建记录,不知道为什么它无法创建记录。如果有人可以指出我的错误,那将是非常有帮助的。提前致谢。