PublicActivityのgemを使ってるのですが、activitiesを取得する時にパフォーマンス改善のために出来るだけまとめてSQLで取ってくるようにしたいです。

PublicActivity::Activity.includes(trackable: [:post]).where(trackable_type: ['Like', 'Comment'])

そこで上記のようにtrackableとその先のpostまでincludesすることによってパフォーマンスは改善したのですが、postレコードが存在しない時(削除した時など)に、

Association named 'post' was not foundというエラーが出ます。

joinsを使えば、存在するレコードだけ取ってくる、と聞いて使おうとすると今度は Cannot eagerly load the polymorphic associationというエラーが出ます。

何か良い解決方法はありますでしょうか?

関連するモデルの情報が抜けておりました。追記致します。

Postモデル

Class Post < ActiveRecord::Base
  has_many :comments

Commentモデル

Class Comment < ActiveRecord::Base
  include PublicActivity::Common 
  belongs_to :post
  has_many :likes

Likeモデル

Class Like < ActiveRecord::Base
  include PublicActivity::Common 
  belongs_to :comment

となっています。