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放在控制器中,则可以在发生错误时运行方法。所以把前两个代码块的版本放入你的应用程序控制器(或任何地方)。不过,您可能会想在模型中引发更具体的错误。不要担心“或者你可以做这样的事情......”部分。 –