Как отправить ответ json с контроллера в jQuery и проверить его?
У меня есть такая проблема: я проверяю электронную почту пользователя в контроллере и отправляю успешный ответ json, если он уже получен, и добавляю стиль ввода css, также мне нужно предотвратить отправку и добавить какое-либо сообщение.
Вот мое действие checkemail (использовал эту статью -http://paydrotalks.com/posts/45-standard-json-response-for-rails-and-jquery ):
def checkemail
if !User.where('email = ?', params[:email]).empty?
format.jsonr do
render :json => {
:status => :ok,
:message => "Success!",
}.to_json
end
end
end
и в моих маршрутах:
checkemail GET /checkemail(.:format)
match "/checkemail", to: 'edit_user#checkemail'
и мой JQuery:
$('#user_email').focusout(function() {
$.getJSON('/checkemail', { email: $('#user_email').val() }, function(data) {
$('#user_email').addClass("error");
});
});
мой код ввода HTML:
<input id="user_email" name="user[email]" size="30" type="email" value="">
из файла инициализаторов mime_type:
Mime::Type.register_alias "application/json", :jsonr, %w( text/x-json )
From Fiddler:
Request : GET /[email protected] HTTP/2.0
Response(RAW tab) :
Missing template edit_user/checkemail
JSON tab is empty
QUESTIONS: How to inspect is json request sent ? How can I prevent submission form and add some message ?