コーネリアス
まず、deleted_messages の下では、これを特定のユーザーに限定していません。
第二に、ユーザー モデルとメッセージ モデル内に関係があるかどうかはわかりませんが、投稿したコードから確認する必要があります。message.rb モデル内に「user_id」フィールドがない場合は、移行によって追加する必要があります。
within app/models/user.rb
has_many :messages
within app/models/message.rb
belongs_to :user
これが重要な理由は、次のコードを記述できるようになるためです。
user.rb内
def deleted_messages
messages.where(recipient_deleted: 1)
end
def sent_messages
messages.where(sent_by: self.id)
end
def received_messages
messages.where(received_by: self.id)
end
関係を定義した後で、ユーザーのメッセージを表示する場合。次のように書くだけです。
<<instance of user>>.messages
eg. current_user.messages
eg. @user.messages