我有以下功能。它有效,但我不喜欢它的样子。更优雅的方式来写这个ActiveRecord查询?
# 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
这能进一步简化?
请提供您的模型关系,以便我们知道您的表格如何关联。 –