LoginSignup
0
0

More than 1 year has passed since last update.

Railsで条件に一致する要素の個数を数え上げる時のコードのリファクタ例

Posted at

railsで作られているアプリで、countを使用する機会があったので、具体例として書きました。
countを知らない人はググってみてください。

 class User
   has_many :qualifications # 資格証
 end

 class Qualification
   has_one_attached :image # 画像
 end

例えばこんなクラスがあったとして、あるuserが持っているqualificationsのうち、
imageが添付されているものの個数を数えたい場合を考えます。

私はまず以下のように書きました。

  attached_count = 0 # 添付されているものの個数を入れる変数
  user.qualifications.each do |qualification|
    attached_count += 1 if qualification.image.attached?
  end

このコードでも、あるuserの、imageが添付されているqualificationの個数を数えることができます。

しかし、countを使えば一行で済みます。

  user.qualifications.count { |qualification| qualification.image.attached? }

気持ちいい!!!

0
0
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
0
0