不能使用OR运算符

时间:2012-08-25 15:11:57

标签: ruby-on-rails ruby-on-rails-3.2

我正在尝试使用消息控制器中的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。有人能告诉我我的代码有什么问题吗?

1 个答案:

答案 0 :(得分: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之前错过了“:”。