我正在从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。
答案 0 :(得分:9)
关系不再有像#map这样的mutator方法!和#delete_if。在使用这些方法之前,通过调用#to_a转换为数组。
existing_shops.to_a.map! { ... }