Rails ненавязчивый Javascript (UJS) AJAX: до добавления параметров данных

Я пытаюсь добавить некоторые параметры в форму перед отправкой через ajax (через Rails UJS).

  $(document).on("ajax:before",".form-example", function(event) {
    event.data = $(":hidden").serialize();
  });

Скрытые входные данные не находятся внутри формы, поэтому мне нужно собрать их, сериализовать и добавить их в запрос (который является PUT запрос). Однако в приведенном выше примере параметры не передаются на сервер, я что-то не так делаю? Как я могу передать параметр называется "items" с сериализованными значениями скрытых входов?

1 ответ

Глядя на это, на самом деле это можно сделать, но вы не используете событие, вы изменяете саму форму (используя $(this)).

Так что-то вроде этого может работать:

$(document).on("ajax:before",".form-example", function() {
  var form = $(this);
  form.append($('<input />',{name: 'hidden_values',value: $(":hidden").serialize()}));
});

И вы должны быть в состоянии получить доступ к данным в вашем действии рельсов, используя params[:hidden_values],

Другие вопросы по тегам