Как обрабатывать ActiveRecord :: RecordNotFound в контроллере рельсов?
У меня есть приложение с пользователем и событиями. У каждого пользователя есть несколько событий. Когда пользователь хочет увидеть конкретное событие, он попадает в это действие:
def show
begin
@userEvents = current_user.event
@event = @userEvents.find(params[:id])
rescue ActiveRecord::RecordNotFound
redirect_to :controller => "main", :action => "index"
end
respond_to do |format|
format.html # show.html.erb
format.json { render json: @event }
end
end
Если событие не найдено для пользователя, это означает, что он играл с URL, а событие, которое он пытается получить, ему не принадлежит. Я хочу либо перенаправить его на главную страницу, либо просто отобразить страницу с ошибкой, что событие не найдено. Если я пытаюсь запустить код выше, эта ошибка срабатывает:
AbstractController::DoubleRenderError in EventsController#show
Какой лучший способ это исправить?