Извините, если вопрос очевиден, я только начинаю работать с Rails.
У меня есть следующий код в несколько методов контроллера в настоящее время:Rails Newbie: рекомендации по обработке ошибок в контроллере
respond_to do |format|
if @project.save
format.html { redirect_to(edit_project_url(@project), :notice => '#{user.name} added to #{role}.') }
format.js
else
format.html { render :action => "edit" }
format.js #...
end
end
Таким образом, вопрос, что это лучший способ сделать то же самое для ошибок во всех методах?
Рекомендуется ли использовать save!
и обрабатывать его в rescue_action
?
Или должен ли я сделать свой собственный метод respond
и пройти save
в блоке?
Это кажется хорошей идеей, но почему леска не идти по этому пути? Также предположим, что вы рекомендуете использовать 'rescue_action', если таких методов несколько? –
Хорошо, я собираюсь предположить, что вы имели в виду обработчик 'rescue_from' или' rescue_action_in_public' для нескольких методов, и в этом случае Chubas отвечает здесь, является подмножеством этого, и я должен принять это в качестве ответа. –
Как правило, я использую 'rescue_from' для вещей, которые не могут быть легко восстановлены, и' rescue', когда я смогу с ним справиться. Когда 'create' терпит неудачу, обычно вы просто визуализируете форму' new' снова. Что-то более абстрактное вообще возвращает красивую страницу «Uh oh». – tadman