Rails Simple Form Inspection error 'null' слишком велик для вывода типа - PullRequest
0 голосов
/ 26 апреля 2018

Не совсем уверен, действительно ли это проблема с моим кодом или это ошибка RubyMine, как она появилась после обновления, но не во всех моих формах есть проблема.

У меня есть простая форма, когда вся форма подсвечивается с ошибкой проверки: 'null' слишком велик для вывода типа.Форма работает нормально, и у меня не было никаких реальных ошибок.Единственное, что я мог сделать, - это убрать кнопки из формы.

Кнопки немного запутаны, но функции:

  • Кнопка отправки, которая отменяет проверки (только для разработки)

  • Отключенная кнопка «Поддельная отправка» (только для пользователя

  • Скрытая кнопка отправки (отображается придругая кнопка, которая запускает JS, успешно)

  • Кнопка отмены

  • Есть также другая кнопка в форме, которая только вызывает метод JS

Если я удаляю все кнопки, ошибки удаляются, но никакая комбинация удаления некоторых и оставления некоторых избавляет от ошибки. Только удаление всех из них очистит ее. В настоящее время форма в HAML,но даже после преобразования в ERB он по-прежнему выдавал ту же ошибку проверки.

Я понимаю, что могу просто игнорировать ошибку, поскольку это просто ошибка проверки, и она запускается. Однако, если проверка действительнопоказывая потенциальную проблему, я хотел бы решить ее.И это делает практически невозможным просмотр других ошибок / проверок, поскольку выделяет весь файл.Заранее благодарим за любую помощь, которую вы можете предоставить.

Here is the error discription

# Button to run JS method
<%= f.button :button, 'Run Green Sheet Calculations', type: 'button', id: 'run_green_sheet_calc', class: 'calc_btn', data: {disable_with: 'Please Wait'} %>


.modal-footer
  # Development Button to submit form without validations
  -if Rails.env.development?
    = f.button :button, 'Submit - No Validations', type: 'submit', class: 'btn btn-success contract_submit_button', id: 'submit_form_no_validate', data: {disable_with: 'Please wait…'}, name: 'no_validate', value: 'no_validate'

  # Disabled fake submit, just so user knows they need to do something to submit
  = f.button :submit, type: 'button', readonly: true, id: 'fake_submit', data: {disable_with: 'Run Calculations to Submit'}, value: 'Run Calculations to Submit'

  # Hidden Submit button that is shown after JS method succeeds from top button
  = f.button :submit, class: 'btn btn-success contract_submit_button hidden', id: 'submit_form', data: {disable_with: 'Please wait…'}, value: 'Submit'

  # Cancel button to dismiss modal
  = link_to 'Cancel', '#', class: 'btn btn-danger', data: {dismiss: 'modal'}, type: 'button'

Среда:

  • RubyMine: 2018.1.1

  • Сборка: # RM-181.4445.97, построена 11 апреля 2018

  • JRE: 1.8.0_152-release-1136-b27 x86_64

  • JVM: 64-битная виртуальная машина OpenJDK от JetBrains sro

  • Ruby: 2.3.3

  • Рельсы: 5.0.0

  • macOS 10.13.4

1 Ответ

0 голосов
/ 17 июля 2018

В моем конкретном случае наш проект имеет простую форму размером более 500 строк в хамле, которая вызывает это предупреждение.Я пытался отладить его, но я думаю, что это сводится к тому, что наша форма слишком велика для RubyMine, чтобы проанализировать ее для этой проверки.Это делает невозможным просмотр других проверочных предупреждений и ошибок.

Вы можете добавить это перед блокирующим блоком, чтобы отключить это предупреждение в RubyMine: = # noinspection RubyScope

Не обязательнопередайте эту директиву вашей базе кода.Я не.Я просто использую его в качестве инструмента отладки, чтобы увидеть любые другие предупреждения или ошибки, а затем удалить его перед фиксацией.

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