J'essaie d'utiliser des contrôleurs imbriqués qui ont un chemin reposant, de sorte que je suis tout organisé et ainsi de suite. Voici une copie de mon routes.rb jusqu'à présent:Rails espaces de noms reposants, ressources ... newbie question
map.root :controller => "dashboard"
map.namespace :tracking do |tracking|
tracking.resources :companies
end
map.namespace :status do |status|
status.resources :reports
end
Liens vers les enfants chemins de contrôleur fonctionnent bien en ce moment,
<%= link_to "New Report", new_status_report_path, :title => "Add New Report" %>
Mais mon problème a suivi quand j'ai essayé de la carte juste index de contrôleur parent chemin.
<%= link_to "Status Home", status_path, :title => "Status Home" %>
Je finissent par obtenir quand je charge la page avec le lien:
undefined local variable or method `status_path'
-ce que mes itinéraires correctement définis pour ce type de lien?
MISE À JOUR: Je dois ajouter qu'aucune donnée n'est associée au contrôleur «status» parent. Il agit simplement comme espace réservé de catégorie pour le reste des contrôleurs associés aux statuts, par exemple: les rapports.
peut-être que je suis confus sur ce qu'est un espace de noms est, mais ma catégorie « statut » n'a pas de données directement associées. C'est juste une catégorie d'espace réservé pour l'organisation. Ce que j'essaie de faire, c'est juste de rendre une page d'atterrissage pour cette catégorie avec des liens vers des choses comme des rapports, etc. – Dan
Une ressource n'a pas besoin d'avoir de données associées. Si vous voulez qu'il y ait une page à "/ status", vous devez l'acheminer quelque part. Si vous voulez garder vos routes reposantes, vous devriez créer un StatusesController et faire du statut une ressource singulière comme ci-dessus. Alors/status ira à la méthode show de StatusesController. D'autre part, parfois les applications auront un PagesController pour toutes les pages qui ne correspondent pas bien aux routes de ressources, vous pouvez l'acheminer comme 'map.status"/status ",: controller =>: pages,: action => : status' – mckeed