ruby-on-rails - Rails 简单表单检查错误“null”对于类型推断来说太大了
问题描述
不完全确定这是否是我的代码的实际问题,或者它是否可能是更新后出现的 RubyMine 错误,但并非我的所有表单都有问题。
我有一个简单的表单,整个表单都被检查错误突出显示:“null”对于类型推断来说太大了。该表格工作正常,我没有遇到任何实际错误。弄乱文件我可以让检查消失的唯一方法是从表单中删除按钮。
按钮有点复杂,但功能是:
覆盖验证的提交按钮(仅用于开发)
禁用假提交按钮(仅供用户使用
隐藏的提交按钮(当另一个触发 JS 的按钮成功时显示)
取消按钮
表单中还有另一个按钮,只是触发了一个 JS 方法
如果我删除所有按钮,错误就会清除,但删除一些按钮和留下一些按钮的组合无法消除错误。只有将它们全部删除才能清除它。目前是 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'
环境:
红宝石矿:2018.1.1
建造:#RM-181.4445.97,建造于 2018 年 4 月 11 日
JRE:1.8.0_152-release-1136-b27 x86_64
JVM:JetBrains sro 的 OpenJDK 64 位服务器 VM
红宝石:2.3.3
导轨:5.0.0
macOS 10.13.4
解决方案
在我的特殊情况下,我们的项目在 haml 中有一个 500 多行的简单表单,会触发此警告。我试图调试它,但我认为它归结为我们的表单太大,RubyMine 无法解析此检查。它确实使您无法看到其他检查警告和错误。
您可以在有问题的块之前添加它以使 RubyMine 中的警告静音:
= # noinspection RubyScope
您不一定必须将该指令提交到您的代码库。我不。我只是将它用作调试工具来查看任何其他警告或错误,然后在提交之前将其删除。
推荐阅读
- windows-10 - Windows 10 主机文件 localhost
- php - 在PHP中定义数组时使用双箭头和单冒号有什么区别
- python - 是否可以部分更改参数值?
- c++ - 无法在屏幕上绘制正方形(相同宽度和高度)
- javascript - 比较js中两个数组的键值
- ios - sonarqube 混合 obj-c swift 项目,如何扫描代码覆盖率
- r - 从决策树中提取变量名称
- javascript - 如何通过具有未知父名称的二级属性过滤json?
- python-3.x - 使用 psycopg2 将列插入 PostgreSQL 时,为什么第一列显示为单词“数据”?
- rest - 无法使用 Angular 7 发布:标题不起作用