0

LIKEActiveRecord を使用して、関連付けのプロパティに基づいてクエリを実行するにはどうすればよいですか? 具体的には、多態的な関連付けで機能するものを探しています。

class Invoice < ActiveRecord::Base
  has_one :private_note, class_name: '::Note', as: :noteable,
    conditions: {label: 'private'}
  has_one :public_note,  class_name: '::Note', as: :noteable,
    conditions: {label: 'public'}
end

class Note < ActiveRecord::Base
  belongs_to :noteable, polymorphic: true
  validates :content,   :presence: true
end

「フレンドリー」という単語を含む列がprivate_noteある請求書を見つけたいです。content

4

1 に答える 1

0

#merge を使用

これはメソッドで実現できます.merge

 Invoice.joins(:private_note).merge(Note.where("content LIKE ?", '%friendly%'))
于 2013-05-24T12:43:19.077 に答える