首页> 疑难解答

什么导致未定义的方法`map!'对于ActiveRecord_Relation?

withpy 2021-06-23

简介我正在从Rails 3更新到Rails 4.2,当我运行我的应用程序的测试套件时,我收到以下错误:失败/错误:得到'编辑',id:@shops [3] .id NoMethodError:未定义的方法`map! ” ...

我正在从Rails 3更新到Rails 4.2,当我运行我的应用程序的测试套件时,我收到以下错误:

 Failure/Error: get 'edit', id: @shops[3].id
 NoMethodError:
   undefined method `map!' for #<Shop::ActiveRecord_Relation:0x007ff1d69b4f40>

控制器中的代码是:

existing_shops.map! { |obj| [["##{obj[:shop_id]} #{obj[:name]},
#{obj[:phone]}, #{obj[:address]}, #{obj[:city]}, #{obj[:state]}, #{obj[:zipcode]} "]]}

我使用的是Rails 4.2.4和RSpec 3.3.0。

9
投票

关系不再有像#map这样的mutator方法!和#delete_if。在使用这些方法之前,通过调用#to_a转换为数组。

existing_shops.to_a.map! { ... }

- A Guide for Upgrading Ruby on Rails

上一篇:如何返回等效的数组

下一篇:用于分隔行的Bash脚本包含“^ A”

相关文章