Я пытаюсь сделать вызов ajax, который либо выбирает пользователя, либо получая электронные письма. Когда пользователь нажимает кнопку для этого, я не хочу, чтобы страница перезагружалась, я только хочу отправить сообщение на сервер, на котором пользователь выбирает или не получает электронные письма.Почему мой вызов ajax делает пустую страницу? (ruby-on-rails)
JS:
opt: function(event) {
event.preventDefault();
var $this = $(this);
$.ajax({
type : 'PUT',
url : $this.attr('href'),
dataType : 'html',
success : function(html) {
$this.addClass('active');
}
});
}
Опц действия в контроллере пользователя:
def opt
@user = User.find(params[:id])
if @user.no_emails == false
@user.no_emails = true
@user.save
else
@user.no_emails = false
@user.save
end
render :nothing => true, :status => 200
end
При нажатии на кнопку, которая вызывает функцию все это делает привести меня на пустую страницу, я считаю, часть render :nothing => true, :status => 200
- вот что вызывает проблему, но я не уверен.
В качестве альтернативы '@ user.toggle (: no_emails) .save' отлично подходит для замены вашего условного. – Josh