rails 4 - 未定义的方法`有效吗?'

时间:2014-10-14 23:16:34

标签: sql ruby-on-rails join where

我最近将我的rails升级到Rails 4

此查询过去有用:

@user = User.joins(:cars).where('cars.color' => "blue")

但是现在我收到了这条错误消息:

  

未定义的方法`有效吗?'对于#<   User :: ActiveRecord_Relation:0x00000100bbc668>

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

查询User.joins(:cars).where('cars.color' => "blue")会返回ActiveRecord::Relation个实例。检查docs here

如果您真的想要操作(User类的)实例,则必须从该集合中获取用户,例如:

@user = User.joins(:cars).where('cars.color' => "blue").first

ActiveRecord::Relation不响应以下方法:.save,.update_attributes