我有这样的问题:我正在检查用户电子邮件并且无法告诉验证器该值是否有效。
我有这样的动作:
def checkemail
respond_to do |format|
format.jsonr do
if User.where(email: params[:email]).exists?
render :json => {
:status => :false,
}.to_json
else
render :json => {
:status => :true,
}.to_json
end
end
end
end
这是jQuery:
$(".sign_up").validate({
rules: {
"user[email]": {
remote: {
url: "http://127.0.0.1:3000/checkemail.jsonr",
type: "get",
data: {
email: function() { return $("#email").val(); }
}
}
}
})
这是控制台的结果:
Processing by EditUserController#checkemail as JSONR
Parameters: {"user"=>{"email"=>"use@mail.com"}, "email"=>"use@mail.com"}
←[1m←[36mUser Exists (0.0ms)←[0m ←[1mSELECT 1 FROM "users" WHERE "users"."email" =
'use@mail.com' LIMIT 1←[0m
所以验证没有通过,但应该。
还尝试传递页面状态代码,但失败了。
有人可以建议我的错误在哪里吗?