2011-03-28 22 views
0

我似乎有這個錯誤,我不會做什麼特別的:爲什麼Rails 3中缺少message_id_equals方法?

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) 
+0

請發佈您的UserHasMessages類的相關部分。 – mnelson 2011-03-28 02:43:24

+0

@mikeonrails - 你的意思是屬性?我從上面的片段中的控制檯輸出它們......讓我知道......謝謝!我認爲rd_searchlogic應該允許我這樣做...... :( – Angela 2011-03-29 00:38:07

+0

我從來沒有見過'user_id_is'或類似的東西。那個定義在哪裏? – mnelson 2011-03-29 02:11:59

回答

0

你不能像那樣鏈接在一起。你在UserHasMessages上調用user_id_is,它返回一個不包含message_id_is方法的ActiveRecord響應。我真的不知道這些方法是什麼,但我的猜測是,他們不是範圍或它可以讓你這樣的鏈接。

不能這樣做:

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

要獲得同樣的效果?