Comment puis-je rediriger vers la racine public/index.html?
Je souhaite faire une redirection vers index.html dans mon application/dossier public.
def get_current_user
@current_user = current_user
if @current_user.nil?
redirect_to root_path
end
end
Comment puis-je y parvenir ?
Je n'ai pas modifié la racine dans mes itinéraires.rb ( Sa reste a commenté )
# root :to => "welcome#index"
Je reçois un message d'erreur indiquant root_path est pas défini.
Comment puis-je modifier les itinéraires.rb, de sorte que root_path points à public/index.html ?
- Au lieu d'utiliser
root_path
, utilisezredirect_to '/'
- C'est de la réponse, pas de commentaire à faire, alors pourquoi ne pas vous venez de créer votre réponse, au lieu de commenter sur la question?
- Il n'est pas une réponse. La question était: "Comment dois-je faire X?" et mon commentaire était "N'est pas, n'Y au lieu". Ce n'est pas une réponse acceptable de l'OMI, et je voudrais downvote autres pour publication en tant que telle.
- Grâce meagar. Il fonctionne !
Vous devez vous connecter pour publier un commentaire.
Ce que vous voulez faire est de ne pas les Rails compatibles.
Rails est MVC, C pour le contrôleur, V pour afficher.
Donc ses entrailles besoin à la fois.
Ok,
public/index.html
est affiché par défaut, mais c'est juste parce que le processus est court-circuité.Ainsi, vous pouvez créer un
static
contrôleur avec unindex
action et c'est une vue correspondante (il suffit de copier/coller le contenu de votrepublic/index.html
fichier).Puis définissez:
Et s'il vous plaît, retirez le
public/index.html
fichier 🙂public
répertoire. C'est complètement "Rails compatibles".public/index.html
hors de la boîte pour chaque nouveau projet, et ça marche plutôt bien. Vous pourriez aussi bien lui dire qu'il doit toucher la base de données ou autre chose, il n'est pas en utilisant le 'M' dans 'MVC'.redirect_to
vous n'êtes pas à l'aide de la "V" dans MVC.redirect_to
signifie que nous ne sommes pas à l'aide de la "V"? Je ne comprends pas. Si cela nécessite une nouvelle question pour une longue réponse, dites-moi, je vais le créer!redirect_to
de l'action d'un controller.Vous pouvez attribuer un nom de route vers un fichier statique par passer une chaîne non vide
:controller
et le chemin d'accès au fichier en tant que:action
pour la route:En supposant que vous avez un
public/index.html
, c'est ce qui va être servi.index.html
de cette façon.sur le contrôleur de
fichier de route:
contrôleur:
et à l'aide de rails 4 contrôleur de l'action en direct ce qui peut se comporter comme une seule page de l'application en utilisant la M & C, avec une torsion sur le V
def index
action. De définir le contrôleur et le fichier d'index est assez. Rails va sauter dans l'action de l'itinéraire, s'il n'est pas trouvé.