Ruby on rails 无法使用或运算符

Ruby on rails 无法使用或运算符,ruby-on-rails,ruby-on-rails-3.2,Ruby On Rails,Ruby On Rails 3.2,我正在尝试使用消息控制器中的或操作符来显示对话。我在这里找到了两种说法,但都不起作用 第一个: @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 O

我正在尝试使用消息控制器中的
操作符来显示对话。我在这里找到了两种说法,但都不起作用

第一个:

@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]})
错误:未定义的局部变量或方法发送者\u id


我使用的是Rails 3.2。有人能告诉我我的代码出了什么问题吗?

第二个几乎是对的,只是有一点输入错误。应该是这样的:

@messages = current_user.messages.where("sender_id = :sender_id OR recipient_id = :sender_id", 
{:sender_id => params[:sender_id], :recipient_id => params[:sender_id]}) 
您错过了发件人id之前的“:”。

谢谢。这是工作:-)我是如此。。。非常感谢你