データベースからすべてのレコードを取得できるようにしたいと思います。
u = User.all
そして、読み込まれると、結果のコレクションに AR メソッドを適用できるようになります。
u.first
これはレールで可能ですか?
データベースからすべてのレコードを取得できるようにしたいと思います。
u = User.all
そして、読み込まれると、結果のコレクションに AR メソッドを適用できるようになります。
u.first
これはレールで可能ですか?
実際にデータベースにクエリを実行すると、結果は ActiveRecord::Relation ではなく配列になります。(ただし#first、 にも存在するメソッドであるため、問題なく動作しますArray)。
ただし、ActiveRecord::Relation を構築するための開始点が必要な場合は、次を使用できますscoped。
# Doesn't execute a query yet
u = User.scoped
# This now executes a query similar to SELECT * FROM users LIMIT 1
u.first
Rails 4.0 では#allと同じことを行うことに注意してください#scoped(Rails 3 では配列を返します)。
試してみませんか?
User.allAR コレクションを返さず、配列を返します。を取り除くと.all、実際の例が得られます。