0

ORメッセージコントローラーでオペレーターを使用して会話を表示しようとしています。ここで見つけた 2 つのステートメントを試しましたが、どちらも機能していません。

1つ目:

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

エラー: またはメソッドが見つかりません

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]})

エラー: 未定義のローカル変数またはメソッド sender_id

Rails 3.2 を使用しています。誰かが私のコードで何が間違っているか教えてもらえますか?

4

1 に答える 1

0

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]}) 

senter_id の前に「:」がありません。

于 2012-08-25T15:19:32.100 に答える