ルビー1.8.7
@post = Post.find(1) + Post.find(2)
Postの未定義のメソッド`+'
@post = Post.find(1).merge(Post.find(2))
Postの未定義のメソッドマージ
ルビー1.8.7
@post = Post.find(1) + Post.find(2)
Postの未定義のメソッド`+'
@post = Post.find(1).merge(Post.find(2))
Postの未定義のメソッドマージ
find
次のような1回の呼び出しでIDを渡します
@posts = Post.find([1, 2])
ID=1またはID=2の投稿がない場合、エラーが発生することに注意してください。これを行わない場合は、where
またはを使用してくださいfind_all_by_id
@posts = Post.where(id: [1, 2])
@posts = Post.find_all_by_id([1, 2])
2つの主な違いは、他のクエリをチェーンできるのwhere
に対し、find_all_by_id
既に配列を返すため、クエリをチェーンできないことです。
IDを追加するだけで、プロジェクトの配列を見つけることができます。だからあなたの場合は
@posts = Post.find(1,2)
また:
@posts = []
@posts << Post.find(1)
@posts << Post.find(2)
そして追加し続けます:
@posts << Post.find_all_by_id([5, 6])
あるいは:
@posts << Post.all
あなたは簡単に行うことができます:
@posts = Post.find(1,2)
さらに、コメントから読んだことですが、どちらも配列である@posts
とをマージしたいので、単純にそれらを追加するために使用できます。Post.all
+
@posts
その答えのほかに、私はあなたがしているようにあなたがする必要はないと思いますPost.all
。
配列と同様@posts
に、2つの配列を単純にマージできます。
@posts + Post.all
または、次のことができます。
@post | Post.all