0
私はいくつかのコードを繰り返し処理するためのDRY方法を探しています。私はUser
モデルを持っていて、モデル(報告用)に特定のUsers
を数えたいと思っています。Rails - 複数の配列を繰り返す
User.names
の値を定義しています(つまり、「Jan」、「Lisa」、「Tina」)。リストが3つの値よりもずっと長いので、このコードをもっとDRYにするにはどうすればよいですか?
@users = User.all
@users.each do |u|
# this part repeats with different names
quantity = u.where("name = ?", "Jan").count
ReportRecord.create(:user_id => u.id, :name => "Jan", :quantity => quantity)
# repeated code with different name
quantity = u.where("name = ?", "Lisa").count
ReportRecord.create(:user_id => u.id, :name => "Lisa", :quantity => quantity)
# repeated code with different name
quantity = u.where("name = ?", "Tina").count
ReportRecord.create(:user_id => u.id, :name => "Tina", :quantity => quantity)
end