Ich habe die folgenden zwei Modelle:
class Message < ActiveRecord::Base
belongs_to :to_user, :class_name => 'User'
belongs_to :from_user, :class_name => 'User'
has_ancestry #Using the 'ancestry' gem
end
class User < ActiveRecord::Base
has_many :messages_received, :class_name => 'Message', :foreign_key => 'to_user_id'
has_many :messages_sent, :class_name => 'Message', :foreign_key => 'from_user_id'
end
Jeder Benutzer darf eine Unterhaltung mit einem anderen Benutzer führen, und alle Antworten sollten von der ursprünglichen Nachricht abgeleitet sein.
Wie kann ich in meiner "Index"-Controller-Aktion sowohl gesendete als auch empfangene Nachrichten abfragen? Wenn Benutzer1 zum Beispiel auf "/users/2/messages/" zugreift, sollte er die gesamte Konversation zwischen Benutzer1 und Benutzer2 sehen (unabhängig davon, wer die erste Nachricht gesendet hat). Muss ich ein "Thread"-Modell hinzufügen oder gibt es eine Möglichkeit, dies mit meiner derzeitigen Struktur zu erreichen?
Danke.