У меня был код, похожий на этот:
foo = SomeActiveRecordModel.where(bar: 10).first.foo rescue ''
Как только я начал использовать Rubocop, он кричал на меня из-за синтаксиса восстановления. Итак, я подумал, что есть как минимум два других способа написать этот код:
foo =
begin
foo = SomeActiveRecordModel.where(bar: 10).first.foo
rescue NoMethodError
''
end
А также:
foo = SomeActiveRecordModel.where(bar: 10).first
foo.present? ? foo.foo : ''
Какой из этих способов будет предпочтительнее, или есть альтернативный способ, который предпочтительнее?
where
вscope
илиclass method
вSomeActiveRecordModel
. - person vee   schedule 22.12.2015