Пожалуйста, проверьте, имеет ли ваша форма скрытое поле ввода с именем authenticity_token
или нет, для форм, созданных с помощью помощников рельсов, это поле включено по умолчанию.
Если нет, то это то, что вызывает ошибку как рельсыпри отправке формы ожидает параметр с именем authenticity_token
.
Вы можете добавить это на лету в вашем обратном вызове успеха, как показано ниже:
success: function(data) {
if(data['goto'] == true){
host = data["host"];
url = host + "/users/sign_in";
var form = $("form");
var authenticityToken = document.createElement("input");
authenticityToken.setAttribute("type", "hidden");
authenticityToken.setAttribute("name", "authenticity_token");
authenticityToken.setAttribute("value", $('meta[name="csrf-token"]').attr('content'));
form.append(authenticityToken);
form.attr("action", url);
form.trigger('submit.rails');
} else {
location.reload();
}
}
Надеюсь, это поможет!