Я склонен возвращать массив вместо логического. Этот массив содержит 2 ключа: 'return' и 'error'.
В случае ошибки этот массив будет выглядеть следующим образом:
array('return' => FALSE, 'error' => 'Some error')
В случае успешного выполнения этот массив будет выглядеть следующим образом:
array('return' => TRUE)
Затем контроллер проверяет эти результаты, и в случае ошибки он отображает значение, установленное в ключе «error».