Question

J'ai une application Rails 3.2 dans laquelle j'utilise le gemme Haute tension Pour mes pages publiques. Cela semble bien fonctionner, cependant, je voudrais pouvoir mettre des sous-répertoires dans le dossier de mes pages.

Par exemple:

/pages
--/directory_1
----index.html.erb
--/directory_2
----index.html.erb

Dans cet exemple, je veux pointer mon navigateur à pages/directory_1/index, etc. La documentation prétend qu'il soit possible:

Vous pouvez nier les pages dans une structure de répertoire, si cela est logique d'une perspective d'URL pour vous: link_to "Rapports Q4", page_Path ("À propos / Corporate / Solities / HR / EN_US / BIZ / VENTE / TRIMES-QUAT")

Mais quelque chose comme ça ne fonctionne pas pour moi.

Je l'ai essayé avec un espace de noms:

namespace :directory_1 do
  match "pages/:id" => "high_voltage/pages#show"
end

mais cela bien sûr alors va à directory_1/high_voltage/pages#show, ce qui est faux.

Tout simplement faire correspondre "pages/directory_1/:id" => "high_voltage/pages#show" Livré avec deux problèmes: il ne permet aucune vue dans le répertoire des pages lui-même, et les vues avec le même nom de fichier dans différents sous-répertoires seront confuses.

Alors, comment puis-je accomplir des annuaires imbriqués dans mon répertoire de mes pages à haute tension?

Était-ce utile?

La solution

Créer simplement une structure de répertoire à l'intérieur app/views/pages refléter la hiérarchie de l'URL dont vous avez besoin.

Par exemple, si vous avez créé une vue nommée about.html.erb avec le chemin app/views/pages/about_me/about.html.erb, vous allez y réfrir en utilisant

<%= link_to "About", page_path("about_me/about") %>

J'ai eu cette solution exacte travaillant dans un projet en cours.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top