это мой раздел Ajax вызова в JS файла:Как передать JSON ответа от контроллера Аякса вызова в рельсах
$("#sign_submit").click(function(){
email_id = $("#user_email").val();
password = $("#user_password").val();
data = {email: email_id, password: password };
url = user/sign_in';
$.ajax({
url: url,
data: data,
cache: false,
type: "post",
success: function(data){
console.log(data);
}
});
});
Это мой контроллер Действие:
def create
@user = User.find_by_email(params['email'])
if @user.nil?
respond_to do |format|
format.json {render :json => {:response => 'User is invalid'} } #how to pass json response here.
end
end
if @user.check_valid_user?(params['password'])
set_dashboard_location
set_current_user(session[:customer_id])
render js: %(window.location.href='#{session["spree_user_return_to"]}')
else
#redirect_to '/' and return
#how to psas json response here.
end
end
В в создании действия (else), мне нужно передать ответ json относительно (недопустимых прав пользователя/недопустимых учетных данных пользователя) на мой вызов ajax, который я могу предупредить пользователя на странице просмотра.
Я понимаю ваше объяснение. И попытался просто передать @user в json:, но когда он равен нулю, он должен выполнить наш if block & return nil в мой файл ajax. , но в действительности он не возвращает значение nil для моего ajax. как передать это значение nil ajax? – Ajay