почему метод message_id_equals отсутствует в Rails 3? - PullRequest
0 голосов
/ 28 марта 2011

Кажется, у меня есть эта ошибка, и я не делаю ничего особенного:

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)

1 Ответ

0 голосов
/ 28 марта 2011

Вы не можете связать их вместе таким образом. Вас называют user_id_is в UserHasMessages, который возвращает ответ ActiveRecord, который не содержит метод для message_id_is. Я на самом деле не знаю, что это за методы, но я предполагаю, что они не являются областями действия, или это позволило бы вам так цепляться.

Разве вы не можете сделать:

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

Чтобы получить тот же эффект?

...