Wie gehe ich mit ActiveRecord :: RecordNotFound im Rails-Controller um?

Ich habe eine App mit Benutzern und Ereignissen. Jeder Benutzer hat mehrere Ereignisse. Wenn ein Benutzer ein bestimmtes Ereignis sehen möchte, gelangt er zu folgender Aktion:

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

Wenn das Ereignis für den Benutzer nicht gefunden wird, bedeutet dies, dass er mit der URL gespielt hat und das Ereignis, das er abzurufen versucht, nicht ihm gehört. Ich möchte ihn entweder auf die Hauptseite umleiten oder nur die Seite mit dem Fehler anzeigen, dass das Ereignis nicht gefunden wurde. Wenn ich versuche, den obigen Code auszuführen, wird dieser Fehler ausgelöst:

AbstractController::DoubleRenderError in EventsController#show 

Was ist der beste Weg, um dies zu beheben?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage