Xin lỗi nếu câu hỏi là hiển nhiên, tôi chỉ bắt đầu làm việc với Rails.
Tôi có một đoạn mã sau vào một số phương pháp điều khiển bây giờ:Rails Newbie: Khuyến nghị xử lý lỗi trong bộ điều khiển
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
Vậy câu hỏi là, cách tốt nhất để làm điều tương tự cho các lỗi trong tất cả các phương pháp là gì?
Tôi có nên sử dụng save!
và xử lý nó trong rescue_action
?
Hoặc tôi có nên tự mình làm phương pháp respond
và vượt qua save
trong một khối không?
Điều này có vẻ là một ý tưởng tốt, nhưng tại sao giàn giáo không đi theo con đường này? Ngoài ra tôi giả sử bạn khuyên bạn nên sử dụng 'rescue_action' nếu có một số phương pháp như vậy? –
Ok, tôi sẽ giả sử bạn có nghĩa là một 'rescue_from' hoặc' rescue_action_in_public' handler cho nhiều phương thức, trong trường hợp này, Chubas trả lời ở đây là một tập hợp con của cái này và tôi nên chấp nhận câu trả lời này. –
Như một quy tắc chung, tôi sử dụng 'rescue_from' cho những thứ không thể dễ dàng phục hồi, và' rescue' khi tôi có thể xử lý nó. Khi một 'tạo' thất bại, thông thường bạn chỉ cần hiển thị lại biểu mẫu' mới'. Một cái gì đó trừu tượng hơn thường trả về một trang "Uh oh" khá. – tadman