【发布时间】:2019-09-18 18:08:17
【问题描述】:
我有这段代码,rubocop 告诉我“Rubocop Lint/Void:在 void 上下文中使用的文字”。如何修改此问题并修复此消息。谢谢。
e.messages.map.each { |key, message| { field: key, message: message } }
【问题讨论】:
标签: ruby-on-rails rubocop
我有这段代码,rubocop 告诉我“Rubocop Lint/Void:在 void 上下文中使用的文字”。如何修改此问题并修复此消息。谢谢。
e.messages.map.each { |key, message| { field: key, message: message } }
【问题讨论】:
标签: ruby-on-rails rubocop
我认为问题在于完全使用map 和each。是的,您可以同时使用两者,但这里不需要同时使用两者。
您应该使用:
e.messages.each { |key, message| { field: key, message: message } }
或者你应该使用:
e.messages.map { |key, message| { field: key, message: message } }
基本区别在于each 返回原始数组,而map 返回结果数组。
这里是map和each之间的difference解释得很好。
【讨论】: