модель сообщения пользователя в рельсах 3

Я построил следующую модель для обработки обмена сообщениями пользователя:

 create_table "messages", :force => true do |t|
    t.integer  "source_id"
    t.integer  "destination_id"
    t.string   "object"
    t.string   "body"
    t.datetime "created_at"
    t.datetime "updated_at"
  end

Это его ассоциации:

class Message < ActiveRecord::Base
  belongs_to :sender, :class_name=>'User', :foreign_key=>'source_id'
  belongs_to :reciever, :class_name=>'User', :foreign_key=>'destination_id'
end

И эти другие - ассоциации с другой стороны (модель пользователя):

 has_many :sent_messages, :class_name=> 'Message', :foreign_key=>'source_id', :dependent=>:destroy
  has_many :recieved_messages, :class_name=> 'Message', :foreign_key=>'destination_id', :dependent=>:destroy

Модель верна и работает правильно, на самом деле из сообщения я могу узнать, кто является отправителем и кто является получателем, а от пользователя я могу получить все отправленные и полученные сообщения.К сожалению, он не обрабатывает никаких ситуаций: что, если получатель или отправитель удалит сообщение? Сообщение уникально, поэтому оно исчезает с обеих сторон (плохо). Любое предложение ? Как вы думаете, мне нужно перепланировать модель? Tnx

10
задан Joe 28 February 2011 в 11:48
поделиться