2009-10-17 11 views
-1

J'essaie de faire tourner RoR sur bluehost. J'ai suivi un tutoriel pour commencer, et je pensais que cela fonctionnait bien lorsque la page par défaut est apparue, seulement pour trouver que si je supprime index.html de/public, la liste du répertoire est affiché à la place de l'application.Liste de répertoires au lieu de l'application

J'utilise mercurial pour contrôler la version sur le serveur (cela n'a probablement pas d'importance). Quand je cours le serveur local l'application montre bien.

Y at-il quelque chose de plus que je dois faire pour le faire fonctionner, comme modifier les permissions sur un répertoire ou quelque chose comme ça?

Répondre

0

Quel serveur ne Bluehost utiliser pour les applications Rails? Est-ce Mongrel ou autre chose? Je suppose que vous configurez votre application non pas comme une application Rails, mais comme un site habituel (comme PHP), ainsi index.html et la liste des répertoires apparaissent, mais l'application ne reçoit aucune demande - en gros le serveur ne sait rien à ce sujet.

0

Vous devez définir votre page par défaut.

Configurer cela avec routes.rb comme seen in this article

+0

Voulez-vous dire mettre map.root: controller => "home" dans routes.rb? – sharvey

+0

J'ai changé les routes.rb pour utiliser le systax de l'article (map.connect '',: controller => "home") mais cela ne fonctionne que sur le serveur local. Les deux formes semblent être équivalentes. – sharvey

+1

Tout d'abord, l'article est ancien en termes de Rails et vous devez utiliser 'map.root' au lieu de' map.connect '' ' Deuxièmement, le problème n'est pas dans vos routes (vous obtiendrez une erreur de routage Rails) ni n'importe où dans l'application. Si une application Rails recevait une requête, elle n'indiquerait jamais une liste de répertoires. –

Questions connexes