Есть ли более идиоматический способ для меня, чтобы вернуть булев в #survey_completed?
Это, как я делал вещи в C#, и я всегда чувствовал, что последний троичного пункта для возврата false
является излишним, так что, возможно, у Руби есть лучший способ сделать это?Рубин идиоматический способ вернуть булевы
Так что мой код в настоящее время выглядит следующим образом:
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
Это именно то, что я ищу – Lee
в целом, будьте осторожны с '!!', если ваш ввод является строкой, так как он вернет true для пустой строки и это может быть желательным. Только FYI –
@IuriG. в этом случае активна поддержка «Object # present?». –