0

我正在尝试使用OR消息控制器中的运算符来显示对话。我尝试了在这里找到的两个语句,但它们都不起作用。

第一个:

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

错误:或找不到方法

第二个:

@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

我正在使用 Rails 3.2。有人可以告诉我我的代码有什么问题吗?

4

1 回答 1

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 之前的“:”。

于 2012-08-25T15:19:32.100 回答