公司has_many联系人
公司has_many ContactEmails:through => :接触
ContactEmail belongs_to Contact
联系belongs_to公司
联系has_many ContactEmails
对于公司的特定实例,如何查找所有ContactEmails并过滤属性,例如date_sent?
我尝试过Company.ContactEmails,但我认为它无法建立这种关联。
答案 0 :(得分:0)
您可能希望为此使用命名范围。这适用于Rails 2.3,但Rails 3不会有太大变化。
我还没有测试过,但这样的事情应该可行。可能需要调整条件以进行适当的日期比较。
ContactEmail < ActiveRecord::Base
named_scope :by_date_sent, lambda {|d| { :conditions => ["date_sent = ?", d]}}
end
@company.contact_emails.by_date_sent(Date.today)
答案 1 :(得分:0)
至少有2种方法可以做到这一点:
named_scope
(正确的方法)。company.contact_emails.all(:conditions => ["date_sent = ?", d])