Ruby on rails 为什么Rails 3中缺少message_id_equals方法?

Ruby on rails 为什么Rails 3中缺少message_id_equals方法?,ruby-on-rails,active-relation,Ruby On Rails,Active Relation,我似乎有这个错误,我没有做任何特别的事情: NameError (undefined method `message_id_equals' for class `ActiveRecord::Relation') 为什么??以下是上下文: @user_has_message = UserHasMessages.user_id_is(current_user.id).message_id_is(@message.id) irb(main):012:0> UserHasMessages =&

我似乎有这个错误,我没有做任何特别的事情:

NameError (undefined method `message_id_equals' for class `ActiveRecord::Relation')
为什么??以下是上下文:

@user_has_message = UserHasMessages.user_id_is(current_user.id).message_id_is(@message.id)

irb(main):012:0> UserHasMessages
=> UserHasMessages(id: integer, user_id: integer, message_id: integer, is_sender: boolean, created_at: datetime, updated_at: datetime)

你不能那样把它们连在一起。您在UserHasMessages上被称为user_id_is,它返回一个ActiveRecord响应,该响应不包含消息_id_is的方法。我真的不知道这些方法是什么,但我猜它们不是作用域,或者它可以让你像那样链接

你不能:

@user_has_message = UserHasMessages.where(:user_id => current_user.id, :message_id => @message.id)

要获得相同的效果?

请发布UserHasMessages类的相关部分。@mikeonrails——您是指属性吗?我在上面的代码片段中从控制台输出它们…让我知道…谢谢!我认为rd_searchlogic应该允许我这样做(我从未见过
用户id\u是
或类似的东西。这是在哪里定义的?