0

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

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)
4

1 回答 1

0

你不能像那样把它们连在一起。您在 UserHasMessages 上被称为 user_id_is,它返回一个 ActiveRecord 响应,其中不包含 message_id_is 的方法。我真的不知道这些方法是什么,但我的猜测是它们不是作用域,否则它会让你像那样链接。

你不能这样做:

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

达到同样的效果?

于 2011-03-28T04:05:32.127 回答