两个不同型号的外键是否错误?这是Rails 4.0.0应用程序所以条件是这样写的。我问,因为我遇到了一些眨眼问题而无法找到它。
has_many :messages, :conditions => {:deleted => false, :subject_h => ''}
has_many :messages_send, :class_name => "Message", :foreign_key => "sender_id", :conditions => ['deleted_sender = ?', false]
has_many :blinks, :conditions => {:deleted => false, :subject_h => ''}
has_many :blinks_send, :class_name => "Blink", :foreign_key => "sender_id", :conditions => ['deleted_sender = ?', false]
答案 0 :(得分:0)
我会做以下两件事之一:
1 - 每个模型有一个表(所以一个blinks
表和一个messages
表。
2 - 对每封邮件使用Single Table Inheritance (STI)。您只有一个表(在您的情况下为senders
),其中type
字段可区分闪烁和消息。
为了简单起见,我个人会选择第一个选项,如果仍然需要,我会在稍后演变为STI。
优势还在于您将能够声明您的关联:
has_many :messages
has_many :blinks