Je développe une application dans RoR qui a des parties statiques et dynamiques. La partie statique est placée dans le dossier public/de l'application. Maintenant, si j'ai un index.html dans mon dossier public, je ne serai pas en mesure d'utiliser les routes configurées dans mes routes.rb Les configurations par défaut comme map.connect /: controller /: action ne seront pas utilisables si j'ai un index.html. J'ai donc supprimé l'index html.Ruby on Rails - Page statique en page de démarrage
Maintenant, j'ai une page statique startpage.html dans mon dossier public/qui doit être la page de démarrage de l'application. Et j'ai des liens pour d'autres pages statiques/dynamiques. L'application RoR est hébergée dans Apache et j'ai essayé de configurer la configuration de l'hôte virtuel en ajoutant le paramètre DirectoryIndex afin que, quand jamais une requête arrive pour le site, elle le dirige vers startpage.html mais il me faut encore le contrôleur par défaut que je l'ai indiqué dans routes.rb avec map.root
Je ne veux pas ajouter un contrôleur factice et d'action et de créer une vue qui a la page de démarrage et configurer routes.rb pour l'utiliser comme la racine . Ce que je cherche à faire ici est
Fondamentalement startpage.html devrait être ma première page dans l'application servie comme une page statique du public/dossier. Cela aura alors des liens vers d'autres pages et contrôleurs/actions
Ici je ne suis pas capable de rediriger apache vers la page html au lieu de transmettre l'application control to rails. Liste de répertoire est également activé en utilisant Options Index mais toujours pas de changement.
N'importe quel pointeur?
Jonathan, Merci d'avoir signalé l'erreur.J'ai supprimé la configuration map.root de mon fichier de routes, ajouté startpage.html comme index.html. Les choses fonctionnent bien. Y at-il de toute façon que les deux mappages s'excluent mutuellement? Je veux dire seulement pour la première fois quand je tape "/" je devrais obtenir index.html et pour la demande subséquente pour "/" devrait être pris en charge par la configuration map.root. Considérons un exemple de scénario comme une page de connexion. Ainsi, la première page (index.html) est la page de connexion. Donc, une fois connecté, je ne devrais pas être replacé sur la page de connexion quand je demande accidentellement/intentionnellement "/" – meetraghu28
Ce que vous décrivez peut être fait dans un 'root_controller' qui fait office de standard. Renommez index.html en startpage.html. Ajoutez 'map.root: controller =>: root'. Ensuite, dans 'root_controller':' render: file => 'startpage.html'' s'il n'est pas connecté, et 'redirect_to account_path' ou quelque chose quand l'utilisateur * est * connecté. –
Ok, c'est définitivement faisable. Mais je me demande pourquoi nous devons entrer dans un contrôleur ou un moteur de rails pour faire cela. Pour une page d'accueil ou une page de connexion lorsque le contenu est totalement statique, il n'est pas logique d'accéder au moteur des rails, ce qui peut ralentir légèrement le temps de chargement de la page. – meetraghu28