未定义的方法`where'为#<group:0x8623338> </group:0x8623338>

时间:2013-11-26 12:30:38

标签: ruby-on-rails ruby-on-rails-4

我正在尝试通过ID找到我的小组并在其上放置一个位置(在这种情况下为标题。在另一种情况下为日期)但它会抛出错误undefined method where' for #<Group:0x8623338>

这是我的疑问:

group = Group.find_by_id(params[:group_id]).where(:title => '%titel%')

2 个答案:

答案 0 :(得分:3)

这应该有效:

group = Group.where(title: '%title%').find_by_id(params[:group_id])

您收到此错误的原因是您无法在ActiveRecord::Base实例(由find_by_id方法返回)上调用'scope'方法。现在,您在where上致电Group(这没关系),然后就find_by_id返回的关系调用where

答案 1 :(得分:0)

试试这个

group = Group.where("title like ? AND id =?", '%titel%', params[:group_id])