Rails 7.1 đã cho phép ErrorReporter để handle error classes.

Before Rails 7.1

# to handle a single error
begin
  code_that_raises_exception
rescue ArgumentError => e
  puts e.message
end   

# to handle multiple errors
exceptions = [ArgumentError, StandarError]

begin
  code_that_raises_argument_error
  code_that_raises_standard_error
rescue *exceptions => e
  puts "Error: #{e.message} occurred."
end

In Rails 7.1

@post = Post.new(params[:post])

Rails.error.handle(ActiveRecord::Errors, StandardError) do
  @post.save!
end

PR of the update

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like
Cài đặt Rails 7 với Vite + Stimulus + Tailwind
Read More

Cài đặt Rails 7 với Vite + Stimulus + Tailwind

Nếu bạn đang tìm kiếm một giải pháp phát triển web hiệu suất cao và tiện lợi, Vite sẽ là lựa chọn đáng xem xét. Còn với Rails 7, bạn sẽ phải cân nhắc xem tính năng importmap có đủ thuyết phục để bạn chuyển đổi không.