首页 > 解决方案 > Rails 简单表单检查错误“null”对于类型推断来说太大了

问题描述

不完全确定这是否是我的代码的实际问题,或者它是否可能是更新后出现的 RubyMine 错误,但并非我的所有表单都有问题。

我有一个简单的表单,整个表单都被检查错误突出显示:“null”对于类型推断来说太大了。该表格工作正常,我没有遇到任何实际错误。弄乱文件我可以让检查消失的唯一方法是从表单中删除按钮。

按钮有点复杂,但功能是:

如果我删除所有按钮,错误就会清除,但删除一些按钮和留下一些按钮的组合无法消除错误。只有将它们全部删除才能清除它。目前是 HAML 中的表单,但即使在转换为 ERB 后,它仍然给出相同的检查错误。

我意识到我可以忽略该错误,因为它只是一个检查错误并且它运行。但是,如果检查确实显示出潜在问题,我想解决它。由于它突出显示了整个文件,因此几乎不可能看到其他错误/检查。提前感谢您提供的任何帮助。

这是错误描述

# 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'

环境:

标签: ruby-on-railshamlrubyminecode-inspection

解决方案


在我的特殊情况下,我们的项目在 haml 中有一个 500 多行的简单表单,会触发此警告。我试图调试它,但我认为它归结为我们的表单太大,RubyMine 无法解析此检查。它确实使您无法看到其他检查警告和错误。

您可以在有问题的块之前添加它以使 RubyMine 中的警告静音: = # noinspection RubyScope

您不一定必须将该指令提交到您的代码库。我不。我只是将它用作调试工具来查看任何其他警告或错误,然后在提交之前将其删除。


推荐阅读