我有一个包含用户和事件的应用程序。每个用户都有几个事件。当用户想要查看特定事件时,他将执行此操作:
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
解决此问题的最佳方法是什么?