Мне часто приходится выполнять дополнительную проверку на ноль (чтобы не выдавать ошибку 'undefined for nil'), в которой, я уверен, нет необходимости.
В одном распространенном примере, если посмотреть на необязательныйпараметры URL, например, которые могут существовать или не существовать, мне нравится, чтобы они не учитывали регистр (если они существуют).
например, один из моих методов контроллера допускает (не требует) &showdate=true
, и мне нравитсячтобы сделать его удобным для пользователя, не заботясь об истинном против истинного против истинного.
Я мог бы просто сказать
@showdate = params[:showdate] == "true"
, но это предполагает нижний регистр.
Если я сделаю это:
@showdate = params[:showdate].lower == "true"
это, конечно, выдает нежелательную ошибку, если showdate отсутствует в URL, потому что nil.lower выдает ошибку.
Так что в итоге я делаю что-то вроде этого много времени вмой код:
if params[:showdate]
@showdate = params[:showdate].lower == "true"
else
@showdate = false (or maybe nil)
Я знаю, что есть лучший путь, просто не знаю, что это такое.Любая помощь будет оценена.