Форма отправки Rails через удаленный доступ: true в Safari (только Safari) завершается неудачно - PullRequest
0 голосов
/ 24 мая 2018

Мои формы отправляются через remote: true в Chrome и Firefox без нареканий.Однако в Safari (для настольных компьютеров и мобильных устройств) форма вообще не отправляется.Сеть «зависает» в состоянии обработки - http://take.ms/IdPyw Это очень похоже на эту проблему , однако это не относится только к вводу файлов.

Мой код ниже:

Форма:

=form_with(model: Request.new, class: 'g-form g-contact__form', id: 'form', remote: true) do |f|
      =f.file_field :attachments, class: 'g-input__field-file', multiple: true          
      =f.submit 'Отправить', class: 'g-btn g-btn_submit', id: 'form_submit', data: { "disable-with": "Отправляем..." }

Мой controllers/requests_controller.rb:

def create
    allow_send = true

    @request = Request.new(request_params)
    if allow_send
      respond_to do |format|
        if @request.save
            format.js
          RequestMailer.notify_admin(@request).deliver_now
        else
          format.js { render partial: 'fail' }
        end
      end
    else
      @request.errors.add(:bot, "К сожалению, у нас подозрение, что вы бот. Попробуйте заполнить форму ещё раз.")
      respond_to do |format|
        format.js { render partial: 'fail' }
        format.html
      end

    end
  end

Мой create.js.rb:

$('#form-popup').toggle();
$('#success-popup').toggle();

Если я переключусь на более классический подходТо есть, отвечая через HTML и перенаправляя на определенную страницу, форма работает в Safari.Однако мне нужно, чтобы форма работала точно так же, как она работает сейчас в Chrome.

Мой подход к плану Б заключался бы в переписывании всего кода, отвечающего за отправку формы и проверку на наличие ошибок в простом JS (т. Е. * 1023).* и т.д ...), однако я бы очень хотел остаться с инструментами, предоставленными рельсами.

Есть ли обходной путь для Safari?

Обновление: Мне удалось получить сообщение об ошибке.В нем говорится: Failed to load resource: Network connection lost (скриншот - http://take.ms/yrAMI)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...