Tap을 사용한 Active Record 작업

2728 단어 RubyRailstap

Tap의 where 문서를 사용하지 않음

if params[:email].present?
 User.where(email: params[:email])
elsif params[:username].present?
 User.where(username: params[:username])
else
 User.all
end
아무래도 더 좋은 방법이 있을 것 같아서요.

Tap의 where 문서 사용

User.tap do |u|
 if params[:email].present?
  break u.where(email: params[:email])
 end
end.tap do |u|
 if params[:username].present?
  break u.where(username: params[:username])
 end
end.tap do |u|
 u.all
end
변하지 않겠지?
나는 이것이 약간 DRY화되었다고 생각한다.

좋은 웹페이지 즐겨찾기