Я прочитал несколько сайтов и вопросов, но все были далеко за пределами моего уровня, кроме одного сайта:
http://markconnell.co.uk/posts/2010/02/rails-3-routing-examples
Я пытаюсь следовать Head First Rails, который был создан для Rails 2, и пока все идет хорошо. До сих пор я смог найти конверсии, это действительно первое место после установки, чтобы поставить меня в тупик.
В файле config / rout.rb сказано, что он должен прочитать:
ActionController::Routing::Routes.draw do |map|
map.connect '/ads/:id', :controller=>'ads', :action=>'show'
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
end
Первым делом в моем файле rout.rb по умолчанию используется первая строка
.
Mebay::Application.routes.draw do
Итак, моя первая попытка гласила:
Mebay::Application.routes.draw do
map.connect '/ads/:id', :controller=>'ads', :action=>'show'
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
end
Когда это не удалось, я попробовал это:
Mebay::Application.routes.draw do'
map '/ads/:id' => 'ads#index'
end
Затем я попробовал то же самое, но добавил | map | на первую строку.
И, наконец, я попытался изменить все на это:
ActionController::Routing::Routes.draw do |map|
map '/ads/:id' => 'ads#index'
end
Ничего из этого не сработало. Может кто-нибудь, пожалуйста, помогите мне здесь, я не уверен, что я делаю неправильно. У меня есть другая книга, Ruby On Rails 3 от Hartl, но в Индексе она даже ничего не показывает на Маршрутах, поэтому даже не знаю, где искать там.
Спасибо за любую помощь, которую вы можете предложить мне!
// РЕДАКТИРОВАТЬ - Я также пытался читать «/ ads /»: id, возможно, думая, что это ошибка, поскольку для меня не имеет смысла, почему: id будет в кавычках.
// РЕДАКТИРОВАТЬ 2 - Вот что возвращает Rake Routes:
WARNING: 'require 'rake/rdoctask'' is deprecated. Please use 'require 'rdoc/task' (in RDoc 2.4.2+)' instead.
at /Users/Dennis/.rvm/gems/ruby-1.9.2-p318@rails3tutorial/gems/rake-0.9.2.2/lib/rake/rdoctask.rb
WARNING: Global access to Rake DSL methods is deprecated. Please include
... Rake::DSL into classes and modules which use the Rake DSL methods
WARNING: DSL method Mebay::Application#task called at /Users/Dennis/.rvm/gems/ruby-1.9.2-p318@rails3tutorial/gems/railties-3.0.1/lib/rails/application.rb:214:in `initialize_tasks'
/ads/:id(.:format) {:controller=>"ads", :action=>"show"}
/:controller/:action/:id(.:format)
/:controller/:action/:id.:format
Сообщение об ошибке:
Ошибка маршрутизации
Нет совпадений маршрутов "/ ads / 3"
// РЕДАКТИРОВАТЬ 3 - Вот как выглядят мои 2 файла контроллера:
ads_controller:
class AdsController < ApplicationController
end
application_controller:
class ApplicationController < ActionController::Base
protect_from_forgery
end
// РЕДАКТИРОВАТЬ 4 -
Попробовал в файле ads_controller.rb:
Класс AdsController
Также пробовал в том же файле:
class AdsController < ApplicationController
end
def show;
end
И каждый раз, когда я пытался идти к
- локальный: 3000 / mebay / реклама / 3
- локальный: 3000 / объявления / 3
- локальный: 3000 / шоу / реклама / 3
- локальный: 3000 / mebay / шоу / реклама / 3
По-прежнему та же ошибка «Ошибка маршрутизации. Нет маршрутов ...»