0 votes

Route de rails qui traîne

Je suis en train d'essayer de faire fonctionner l'application de quelqu'un d'autre sur mon ordinateur de développement, mais j'ai rencontré un problème de routage et je ne sais pas comment le déboguer. Pour un contrôleur/action particulier, ça ne répond pas et ne se termine pas en timeout, et il n'y a pas de message d'erreur dans le journal de développement. Est-ce que quelqu'un sait comment je peux déboguer ça? Merci.

Edité selon les commentaires.

config.rb

ActionController::Routing::Routes.draw do |map|
  map.signup "/signup", :controller => "business_accounts", :action => "new"
  map.resources :beta_signups, :controller => 'public/beta_signups'
  map.root :controller => "public/pages", :action => "index"
end

Pour des raisons de concision, j'ai commenté le reste des routes et laissé quelques routes qui fonctionnent. Celle qui a échoué est la route de signup, elle reste simplement bloquée et ne se termine jamais en timeout.

Voici la sortie pertinente du development.log montrant une route qui fonctionne (root) et une qui ne fonctionne pas (signup)

Paramètres: {"action"=>"index", "controller"=>"public/pages"}
Rendu du modèle dans les mises en page publiques
Rendu public/pages/index
Terminé en 672ms (Vue: 656, DB: 15) | 200 OK [http://localhost/]
  SQL (0.0ms)   SET client_min_messages TO 'panic'
  SQL (0.0ms)   SET client_min_messages TO 'notice'

Traitement de BusinessAccountsController#new (pour 127.0.0.1 à 2010-04-22 10:01:30)
 [GET]
  Paramètres: {"action"=>"new", "controller"=>"business_accounts"}

Je ne sais pas si cela fait une différence, mais ça tourne sur thin et bundler.

J'ai réduit le contrôleur au strict minimum et je continue à obtenir la même erreur

class BusinessAccountsController < SSLController
 def new
   logger.debug "ici"
 end
end

Et je viens de remarquer SSLController, hmm, je dois regarder ça de plus près.

0voto

Bob Points 3817

Fils d'une !@%$#@%$%!$@!%, SSLController était mon problème, il n'y a pas de configuration SSL sur mon ordinateur portable et le résultat est que l'application se bloque sans message d'erreur. Le changement vers ApplicationController fonctionne. Merci @Taryn, c'était ta demande qui m'a fait regarder de plus près le code, c'est drôle comme j'ai regardé ça pendant des jours et je ne l'avais jamais vu jusqu'à présent.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X