2012-03-02 4 views
0

У меня есть функция в моем контроллере rails (я знаю, а не рельсы, но мне легче писать в контроллере, когда у меня есть что-то вроде этого, а затем перейдите к модели).abort in rails loop function

У меня ошибка в массиве, который я прокручиваю, к сожалению, ошибка добавляется где-то в цикле. Это большой массив с множеством свойств, и я пытаюсь выяснить, где возникает ошибка.

Я думаю, что могу выделить, какой объект в массиве вызывает ошибку, но я не могу его распечатать.

Aparently ruby ​​имеет функцию

abort('message')
, но возвращает ошибку в рельсах.

return render не работает, это дает мне ошибку, что render and/or redirect is being called multiple times. Как я могу сделать php-тип die в этой ситуации?

ответ

1

Этот SO Post предлагает отличное предложение.

raise RuntimeError, 'Message goes here' 

В разделе 'Message goes here' можно даже добавить в элемент массива:

array.each do |array_element| 
    <logic> 
    raise RuntimeError, "#{array_element.inspect}; Message goes here" 
end