Маршрут Rails, который пропадает в приложении, но присутствует в граблях - PullRequest
1 голос
/ 05 августа 2010

У меня мистическая проблема ....

В моем route.rb определены некоторые маршруты, например,

resources :projects, :except => [:destroy] do
  get :edit_flyer, :on => :member
  get :guests, :on => :member
end

Если я запускаю рейк-маршруты, я получаю

                     edit_flyer_project GET    /projects/:id/edit_flyer(.:format)                      {:controller=>"projects", :action=>"edit_flyer"}
                         guests_project GET    /projects/:id/guests(.:format)                          {:controller=>"projects", :action=>"guests"}
                                        GET    /projects(.:format)                                     {:controller=>"projects", :action=>"index"}
                               projects POST   /projects(.:format)                                     {:controller=>"projects", :action=>"create"}
                            new_project GET    /projects/new(.:format)                                 {:controller=>"projects", :action=>"new"}
                                        GET    /projects/:id(.:format)                                 {:controller=>"projects", :action=>"show"}
                                project PUT    /projects/:id(.:format)                                 {:controller=>"projects", :action=>"update"}
                           edit_project GET    /projects/:id/edit(.:format)                            {:controller=>"projects", :action=>"edit"}

Как видите, действие show определено. Но в моих приложениях rails маршрутное шоу не определено.

Я добавляю это в свой контроллер приложений только для отслеживания маршрутов.

before_filter :zba

def zba
  ActionController::Routing::Routes.named_routes.routes.each do |name, route|
    puts "%20s: %s" % [name, route]
  end
  exit
end

И похоже, что действие маршрута не определено ....

Затем я попытался очистить мой route.rb, например, удалив все мое заднее пространство имен, и волшебным образом это работает.

Кажется, это ошибка, или я не знаю, что произошло.

Ты хоть представляешь, как это отладить? Я также попытался удалить плагин / драгоценные камни. Без изменений.

Я запускаю с Rails3.rc с ruby ​​1.8.7!

Спасибо за вашу помощь!

1 Ответ

2 голосов
/ 05 августа 2010

Попробуйте это

resources :projects, :except => [:destroy] do
  member do
    get :edit_flyer
    get :guests
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...