我有以下功能。它有效,但我不喜欢它的外观。
# in user.rb
def awarded_requests
Request.joins('JOIN application ON application.request_id = request.id').where('accepted = true AND application.user_id = ?', self.id)
end
然后我将它重构为显然是一种改进,但可能不是最简单的形式:
def awarded_requests
Request.find(self.applications.accepted.map(&:request_id))
end
这可以进一步简化吗?