我有以下型號:的Rails 3:多態查詢條件
class Notification < ActiveRecord::Base
belongs_to :notificatable, polymorphic: true
end
class BounceEmailNotification < ActiveRecord::Bas
has_one :notification, :as => :notificatable, :dependent => :destroy
end
class UserNotifierEmailNotification < ActiveRecord::Base
has_one :notification, :as => :notificatable, :dependent => :destroy
end
正如你所看到的,通知的類型可以是「反彈電子郵件通知」或「用戶通知郵件通知」的。 BounceEmailNotification
模型具有事件字符串屬性。如果我想要檢索所有用戶通知器電子郵件通知以及具有特定事件值的所有退回電子郵件通知,請訂購created_at
?
這樣的事情(使用squeel):
(Notification.joins{ notificatable(BounceEmailNotification) }.where('bounce_email_notifications.event' => 'error') + Notification.joins { notificatable(UserNotifierEmailNotification) }).sort_by { |n| n.created_at }
會的工作,但我不希望使用Ruby來訂購通知。我能做什麼?謝謝