a
そしてb
、同じタイプのオブジェクトを返す ActiveRecord::Relation オブジェクトです (この場合は Micropost オブジェクト)
a.class
=> ActiveRecord::Relation
b.class
=> ActiveRecord::Relation
a.first
=> Micropost(...)
b.first
=> Micropost(...) #They both return the same type of objects
c=a+b
c.class
=> Array #This is not what i'm looking for
c=a|b
c.class
=> Array #Not what i'm looking for either
c=(a or b)
c.class
=> ActiveRecord::Relation #But it is just a, so it's wrong
c==a
=> true
a.merge(b)
=> [] #It merges with AND which in my case results in an empty array
Rails 3.2.11で両方のRelationオブジェクトを「OR」して別のRelationオブジェクトを返す方法はありますか? それを行うためにgemを使用する必要がありますsqueel
か?
できない場合:なぜできないのですか?a|b
データベースからすべてのレコードをロードせずに、結果の配列をページ付けできますか?
それができる場合:誰かがそれを行う方法の例を書いてもらえますか?
前もって感謝します。
編集: 間違った変数をコード ブロックにコピーしました。b は ActiveRecord::Relation ではなく、実際には配列でした。そのため、a.merge(b) は [] を返しました。私のせいです。
TLDR: 質問が間違っています。配列はページ付けできます:)