3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[Rails] first(1)と書くべからず

Last updated at Posted at 2018-07-25

railsを学び始めてはや2か月。

作業中にfirstメソッドの使い方で詰まった点があったので書いてみます。

User.first(3)

とすればusersテーブルの最初の3件を取得できるわけですが、最初の1件だけを取得したい場合は

User.first

だけでOKです。:thumbsup:

User.first(1)

と書いてしまうと、一見同じレコードを取得したように見えますが、別物のように扱われます。:tired_face:
どうやらfirstの後に()を付けると複数個のレコードを取得したとみなされるようです。


余談ですが、first(1)と書いた場合でも、要は複数個扱いされているのを解消すればいいので

User.first(1).each do |f|
  f.email
end

のような感じで、(1件しかないけど)eachで形式上ばらしてあげれば、動くは動きます。
無駄に書く量が増えるだけにしか思えませんが……

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?