奇妙な問題があります。メールが既に取得されているかどうか、どのユーザーが入力しているかを確認しています。
シンプルなページで動作していますが、モーダルで呼び出そうとすると動作しません。
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
MIMEタイプも追加
Mime::Type.register_alias "application/json", :jsonr, %w( text/x-json )
しかし、ログを見ると、そのアクションは呼び出されていないようです。ただし、すべて同じことが他のプロジェクトで機能しています。
誰かがどこに問題があるのか教えてもらえますか?