como lidar com ActiveRecord :: RecordNotFound no controlador de trilhos?
Eu tenho um aplicativo com usuário e eventos. Cada usuário tem vários eventos. Quando um usuário deseja ver um evento específico, ele acessará essa ação:
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 o evento não for encontrado para o usuário, significa que ele jogou com a URL e o evento que ele está tentando obter não pertence a ele. Eu quero redirecioná-lo para a página principal ou apenas exibir a página com um erro que o evento não foi encontrado. Se eu tentar executar o código acima, este erro será acionado:
AbstractController::DoubleRenderError in EventsController#show
Qual é a melhor maneira de consertar isso?