【发布时间】:2015-12-12 10:02:43
【问题描述】:
如何在不更改其签名的情况下重构此方法(即无法更改它以接收选项哈希)
def find_or_create_user(name, email=nil, age=nil, gender=nil)
users = User.where(name: name)
users = users.where(email: email) if email
users = users.where(age: age) if age
users = users.where(gender: gender) if gender
users.first_or_initialize
end
【问题讨论】:
-
你想重构什么?
-
好像没有那么优雅,违反了DRY
标签: ruby-on-rails coding-style refactoring