«Я делаю много нулевых проверок, прежде чем отображать эти значения в моих представлениях.»
Я думаю, что возвращать ноль - хорошая идея. Альтернативой, которую я иногда использую, является возвращение хэша. Например, если метод завершился успешно, я мог бы вернуть:
{:result => 1234}
и, если метод "потерпел неудачу", я мог бы вернуть:
{:error => 'Insufficient attributes to calculate result.'}
Это упрощает определение результата, не угадывая.
С учетом сказанного убедитесь, что вы создали вспомогательные методы для вызова этих методов и проверки их результатов. Представления должны содержать очень мало логики. Таким образом, вместо того, чтобы делать это, чтобы контролировать, отображается ли результат:
<% if result = some_method -%>
Your result is <%=h result -%>.<br />
<% end -%>
Вы должны сделать это:
<% display_some_method %>
и метод #display_ some_ находится в app / helpers / what_helper.rb.