我有一个奇怪的问题:我正在检查电子邮件是否已经被接收,哪个用户正在输入。
它在简单页面中工作,但是当我尝试在模式上调用它时 - 它不起作用。
这是jQuery:
$('#user_email').focusout(function() {
$.getJSON('http://127.0.0.1:3000/checkemail.jsonr', { email: $('#user_email').val() }, function(data)
{ $('#submit').attr('disabled', 'disabled'); }//disable submit
);
});
我的 HTML:
<input id="user_email" name="user[email]" size="30" type="email" value="">
<input class="btn" id="submit" name="commit" type="submit" value="Create an account">
我的行动和路线:
def checkemail
respond_to do |format|
format.jsonr do
if User.where(email: params[:email]).exists?
render :json => {
:status => :ok,
:message => "Success!"
}.to_json
end
end
end
end
...route...
checkemail /checkemail
还添加了 mimetype
Mime::Type.register_alias "application/json", :jsonr, %w( text/x-json )
但正如我在日志中看到的那样,该动作似乎没有调用。但是,所有相同的事情都在其他项目中起作用。
有人能告诉我问题出在哪里吗?