Ho un'app con utente ed eventi. Ogni utente ha diversi eventi. Quando un utente vuole vedere un evento specifico che si arriva a questa azione:come gestire ActiveRecord :: RecordNotFound nel controller di rails?
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
Se l'evento non si trova per l'utente questo significa ha giocato con l'URL e l'evento che sta cercando di ottenere non appartiene a lui. Voglio o reindirizzare la pagina principale o semplicemente visualizzare la pagina con un errore che l'evento non è stato trovato. Se provo a eseguire il codice sopra questo errore si attiva:
AbstractController::DoubleRenderError in EventsController#show
Qual è il modo migliore per risolvere questo problema?
oh dio grazie .... invio messaggio dal futuro =) –