2012-08-25 60 views
0

我正嘗試在我的消息控制器中使用OR運算符來顯示對話。我嘗試了兩次我在這裏找到的聲明,但都沒有工作。不能使用或運算符

一日一:

第二
@messages = current_user.messages.where(:sender_id => params[:sender_id]).OR(:reciptient_id => params[:sender_id]) 

ERROR: Or method not found

之一:

@messages = current_user.messages.where("sender_id = :sender_id OR recipient_id = :sender_id", {sender_id => params[:sender_id], :recipient_id => params[:sender_id]}) 

Error: undefined local variable or method sender_id

我使用Rails 3.2。有人能告訴我我的代碼有什麼問題嗎?

回答

0

第二個幾乎是正確的,它只是一個輕微的錯字。它是這樣的:

@messages = current_user.messages.where("sender_id = :sender_id OR recipient_id = :sender_id", 
{:sender_id => params[:sender_id], :recipient_id => params[:sender_id]}) 

你錯過了「:」之前的sender_id。

+0

謝謝。這是工作:-)我是這樣的...非常感謝你 – Medmax

相關問題