2012-02-07 2 views
1

Je viens de commencer à apprendre RoR. Ceci est mon fichier /app/trip_controller.rbErreur de routage Aucun chemin correspond

class TripController < ApplicationController 
layout 'main' 
def index 
end 
    def map 
    session[:location] = Location.new(params[:location]) 
     @map = GMap.new("map_div") 
     @map.control_init(:large_map => true, :map_type => true) 
     @map.icon_global_init(GIcon.new(:image => "http://www.google.com/ 
             mapfiles/ms/icons/blue-pushpin.png", 
     :shadow => "http://www.google.com/mapfiles/shadow50.png", 
     :icon_size => GSize.new(32,32), 
     :shadow_size => GSize.new(37,32), 
     :icon_anchor => GPoint.new(9,32), 
     :info_window_anchor => GPoint.new(9,2), 
     :info_shadow_anchor => GPoint.new(18,25)), 
     "icon_source") 
     icon_source = Variable.new("icon_source") 
     source = GMarker.new([session[:location].lat, 
          session[:location].long], 
     :title => 'Source', 
     :info_window => "Start here!", 
     :icon => icon_source) 
     @map.overlay_init(source) 
     @map.center_zoom_init([session[:location].lat, 
         session[:location].long], 12) 
     @location = session[:location].location 
end 

fin

Et voici mon fichier routes.rb

Project::Application.routes.draw do 
end 

Mon dossier/app/vues a les fichiers suivants

Lorsque je démarre le serveur et que je me rends à localhost: 3000/trip sur mon navigateur, j'obtiens l'erreur
No route matches [GET] "/trip" 

Dois-je configurer quelque chose dans le fichier routes.rb?

Répondre

1

Je conseillerais un voyage à travers the routing guide, qui peut aider à répondre à la plupart, sinon toutes les questions qui viennent avec les gens qui sont nouveaux dans Rails et le routage à travers les chemins.

Pour répondre à votre question, oui, vous devez configurer des éléments dans le fichier routes.rb - ce fichier est essentiel pour que le routage fonctionne.

2

Vous n'avez pas d'itinéraire défini. Changez votre routes.rb à ceci:

Project::Application.routes.draw do 
    get "trip" => "trip#map" 
end 

Objet des routes est de cartographier les demandes d'URL à vos actions de contrôleur et puisque vous n'avez pas des itinéraires définis vous obtenez des erreurs de routage.

Cochez cette case guide pour plus d'informations sur le routage.

La commande la plus utile que vous pouvez utiliser pour déboguer les erreurs de routage est rake routes qui affichera les chemins et les noms pour toutes les routes définies.

Questions connexes