0
我有這個類的方法與rails異常錯誤私人方法。我想,當條件滿足時,我應該被重定向到root_path的通知書,而是,我顯示錯誤信息頁面如何重定向到路徑
class Listing < ApplicationRecord
NUMBER_OF_PERMITTED_PHOTOS = 3
has_many :photos, dependent: :destroy,before_add: :validate_photo_limit
private
def validate_photo_limit(photo)
raise Exception.new if photos.size >= NUMBER_OF_PERMITTED_PHOTOS
end
end
的[重定向在模型中的方法捕獲異常]可能的複製(https://stackoverflow.com/questions/4535507/redirect-on-catching-an-exception-in-a-method在這個模型) –
感謝您的答覆。但我不明白。代碼應該如何看起來像 – foliwe83
基本上,如果您將http://api.rubyonrails.org/classes/ActiveSupport/Rescuable/ClassMethods.html#method-i-rescue_from放在控制器中,則可以在發生錯誤時運行方法。所以把前兩個代碼塊的版本放入你的應用程序控制器(或任何地方)。不過,您可能會想在模型中引發更具體的錯誤。不要擔心「或者你可以做這樣的事情......」部分。 –