2012-02-07 2 views
1

Я только начал изучать RoR. Это мой /app/trip_controller.rb файлОшибка маршрутизации Нет совпадений маршрутов

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 

конец

И это мой routes.rb файл

Project::Application.routes.draw do 
end 

Мой/приложение папки/вид имеет следующие файлы

_search.rhtml 
index.rhtml 
/layouts 
    application.html.erb main.rhtml 
/trip 
    _info.rhtml _tabs.rhtml map.rhtml 

Когда я запустил сервер и добрался до localhost: 3000/trip на моем браузере, я получаю сообщение об ошибке

No route matches [GET] "/trip" 

Нужно ли мне что-либо настраивать в файле routes.rb?

ответ

1

Я бы посоветовал совершить поездку через the routing guide, что может помочь ответить на большинство вопросов, возникающих у людей, которые являются новыми для Rails и маршрутизации по пути.

Чтобы ответить на ваш вопрос, да, вам нужно настроить материал в файле routes.rb - этот файл является центральным для выполнения работы по маршрутизации.

2

У вас нет определенного маршрута. Изменение routes.rb к этому:

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

Назначения маршрутов является отображение запросов URL на ваши действия контроллера и поскольку у вас нет каких-либо маршруты определяются вы получаете маршрутизации ошибок.

Для получения дополнительной информации о маршрутизации отметьте это guide.

Возможно, наиболее полезной командой, которую можно использовать для отладки ошибок маршрутизации, является rake routes, которая будет выводить пути и имена для всех указанных маршрутов.