【问题标题】:rails 4 rubocop use proc instead of Proc.new [duplicate]rails 4 rubocop 使用 proc 而不是 Proc.new [重复]
【发布时间】:2016-03-05 02:18:57
【问题描述】:

  validates_presence_of :job, if: Proc.new { |data| data.executed_at? }

我一直在修补这个问题,但它不断失败。如果我切换到推荐的过程,它会窒息:

处理此问题并通过警察的最佳方法是什么?

万一其他人落在这里,最终的语法是:

validates_presence_of :job, if: proc { executed_at? }

【问题讨论】:

  • 嗯,错误消息说:“使用proc 而不是Proc.new”......我不确定如何扩展它?你试过了吗?
  • 是的,因此发布了第二步......它在下一步中窒息
  • 第二步是什么?它仍然在第二张图片中的Proc.new 上显示错误。事实上,这两个错误都是 100% 相同的。
  • 第二个错误将“Proc”更改为“proc”
  • 另外,请勿发布屏幕截图。发布文本。

标签: ruby-on-rails ruby-style-guide


【解决方案1】:

您只是解决了一个问题,然后再面对另一个问题。是时候修复那个了。

validates_presence_of :job, if: :executed_at?

【讨论】:

  • 在尝试我得到错误“ArgumentError:试图创建没有块的 Proc 对象”
  • 对。另一方面,我认为我们可以将方法名称作为符号传递。 guides.rubyonrails.org/…我已经更新了我的答案。
  • 在@Carpetsmoker 的帮助下,它与 validates_presence_of 一起工作:job, if: proc { executed_at? } 但我正在等待发布的答案,所以我可以给予信任。如果你想先去做,你们俩都在帮助我
  • 我认为这超出了您的需要。在这种情况下,您实际上并不需要 proc。我怀疑if: Proc.new(&:executed_at?)proc(&:executed_at?) 也可以,但我不确定。
  • 他发表的评论解决了这个问题,我更新了它,这样其他人就不会在这个话题上发帖了。再次感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 2011-10-25
  • 1970-01-01
  • 2014-01-24
  • 1970-01-01
  • 2021-06-01
  • 2014-04-20
  • 1970-01-01
  • 2014-03-25
相关资源
最近更新 更多