class Parent < ActiveRecord::Base
has_many :children
end
class Child < ActiveRecord::Base
belongs_to :parent
end
ちょうど 1 人の子を持つ親のみを返すクエリを作成したいと考えています。私はこれまでのところ...
parents = Parent.all
parents = parents.reject {|parent| parent.children.count > 1}
これは機能しますが、私が遭遇している唯一の問題は、返されるデータ型が ActiveRecord::Relation::ActiveRecord_Relation_Parent データ型ではなく配列であることです。配列ではなく Active Record リレーション データ型を想定しているため、エラーが発生している gem (Kaminari pagination gem) を使用しています。
Rubyコードでこれを行うのではなく、ActiveRecordを使用して子が1人だけのすべての親を返す方法を知っている人はいますか?
parents = Parent.joins(:children).code_here_to_query_for_parents_with_only_one_child?