rieles 3 rutas apiladas nivel demasiado profundo dispositivo
Recibo este error sobre mi archivo de rutas
SystemStackError (stack level too deep):
actionpack (3.2.8) lib/action_dispatch/middleware/reloader.rb:70
Rendered /Users/duy/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.5ms)
Rendered /Users/duy/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (1.3ms)
Rendered /Users/duy/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (19.9ms)
Podría aislar el código problemático pero no entiendo qué está creando el bucle infinito:
devise_for :users, :controllers => { :registrations => "registrations", :sessions => "sessions", :omniauth_callbacks => "users/omniauth_callbacks" }
devise_scope :user do
match '/sessions/simulate_user/:id' => 'sessions#simulate_user', :as => :simulate_user_sessions
match '/sessions/leave_simulation_mode' => 'sessions#leave_simulation_mode', :as => :leave_simulation_mode_sessions
get "user_confirmation", :to => "devise/confirmations#create"
get "after_confirmation", :to => "challenges#index"
end
Cualquier ayuda sería muy apreciada!
EDITAR:
class SessionsController < Devise::SessionsController
def new
@after_sign_in_page = params[:after_sign_in_page] if params[:after_sign_in_page]
super
end
def create
params[:user][:email].downcase!
super
end
def simulate_user
if can? :simulate_user, User
admin = current_user.id
sign_out
@user = User.find(params[:id])
if sign_in @user
session[:simulation_for] = admin
redirect_to request.referer
else
flash[:notice] = "Something went wrong"
redirect_to action: "leave_simulation_mode"
end
end
end
def leave_simulation_mode
@user = User.find(session[:simulation_for])
sign_out
if sign_in @user
session[:simulation_for] = nil
else
flash[:notice] = "something went wrong..."
end
redirect_to request.referer
end
end
class ChallengesController < ApplicationController
def index
params[:format] = "html" unless params[:subaction].nil?
@video = true unless user_signed_in?
if current_user
@current_page = params[:page] ? params[:page].to_i : 1
@columns = params[:cols] ? params[:cols] : 2
@keyword = params[:keyword]
@search = true if params[:search] == "1"
@challenges = Challenge.is_open.where(id: current_user.challenges.filtered(params[:keyword],params[:user],params[:expertize]).collect(&:root_id).uniq)
logger.debug "Challenges found: #{@challenges.count}"
@users = User.scoped
@expertizes = Expertize.all
end
respond_to do |format|
format.html {
if current_user
if current_user.challenges.waiting_for_approval.count == 1 and @challenges.count == 1
redirect_to challenge_path(current_user.challenges.waiting_for_approval.first, subaction: "description")
return
logger.debug "REdirect called"
else
@challenges = @challenges.page(1).per(@current_page.to_i * 10).order('children_count+tasks_count desc')
end
end
render
}
format.json { render json: @challenges }
format.js {
@challenges = @challenges.page(@current_page).per(10).order('children_count+tasks_count desc')
render
}
end
end
end
Además, olvidé mencionar que cuando reinicio el servidor local, funciona bien. Cada vez que cambio mi archivo route.rb, aparece este error. Luego tengo que reiniciar el servidor Thin, luego puedo trabajar más en ...
EDIT 2:
Salida de ruta de rake:https://www.dropbox.com/s/knmkk1f54vx47yj/rake%20routes.rtf