Почему второй оператор if не работает в следующем блоке кода? Вывод с консоли указывает, что частный параметр равен 0, поэтому он должен проходить? Частный параметр - это флажок в новой форме, который я использую для установки логического поля в модели.RoR: Почему этот if-statement не работает?
if (((params[:note])[:text]) != "")
logger.debug("passed first test")
logger.debug(((params[:note])[:private]))
if (((params[:note])[:private]) == 0)
logger.debug("passed second test")
end
end
выход консоли
passed first test
0
Completed in 61ms (DB: 1) | 302 Found [http://localhost/notes]
Спасибо за чтение.
Спасибо за ваш ответ. Спасибо также за вашу заметку, я довольно новичок в RoR, теперь мой код выглядит намного красивее! – ben
Я бы не просто бросил 'params [: note] [: private] .to_i == 0'. Попробуйте 'nil.to_i' или' 'Не число" .to_i', это может привести к некоторым головным болям в будущем – Chubas
@Chubas Да, все, что не анализируется как целое число, будет давать '0' в качестве результата. Это стоит отметить. Как правило, для числовых параметров, вас интересует, если что-то отличное от нуля или нет. –