在#survey_completed?
方法中,是否有更符合惯用语的方式来返回一个布尔值?这是我在C#中的做法,我一直觉得最后的三元条件运算符返回false
是多余的,也许Ruby有更好的方法来实现这个功能呢?
以下是我的代码:
def survey_completed?
self.survey_completed_at ? true: false
end
def survey_completed_at
# Seeing as the survey is submitted all or nothing, the time the last response is persisted
# is when the survey is completed
last_response = self.responses.last
if last_response
last_response.created_at
end
end
!!
,因为它会对空字符串返回 true,这可能不是期望的行为。只是提供信息。 - Iuri G.Object#present?
很有用。 - Marek LipkaObject#present?
是Rails的扩展。假设您正在使用Rails核心扩展,那么是的,Object#present?
更好。 - Iuri G.