Я сталкивался с этим много раз, когда у меня есть условный предмет, с которым нужно действовать, если он существует. Использование page.select позволяет избежать ошибки нулевого значения.
page.select('#dom_object_id').each do |element|
element.value = "bar"
end
Я поместил это в мой файл * .js.rjs. Когда метод select отправляет пустой массив каждому, он ничего не возвращает вместо ошибки TypeError, которую вы получаете при прямом выборе по id, когда на странице нет объекта DOM с правильным идентификатором.