jak obsługiwać ActiveRecord :: RecordNotFound w kontrolerze szyny?
Mam aplikację z użytkownikiem i wydarzeniami. Każdy użytkownik ma kilka zdarzeń. Gdy użytkownik chce zobaczyć konkretne wydarzenie, przejdzie do tej akcji:
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
Jeśli zdarzenie nie zostanie znalezione dla użytkownika, oznacza to, że grał z adresem URL i zdarzenie, które próbuje uzyskać, nie należy do niego. Chcę albo przekierować go na stronę główną, albo po prostu wyświetlić stronę z błędem, że zdarzenie nie zostało znalezione. Jeśli spróbuję uruchomić powyższy kod, ten błąd zostanie uruchomiony:
AbstractController::DoubleRenderError in EventsController#show
Jak najlepiej to naprawić?