代码之家  ›  专栏  ›  技术社区  ›  Arkan

在应用程序中消失但在rake路由中存在的Rails路由

  •  1
  • Arkan  · 技术社区  · 14 年前

    在我的路由.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应用程序中,没有定义route show。

    我把它添加到我的应用程序控制器中只是为了监视路由。

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

    而且似乎没有定义路由操作。。。。

    好像是个虫子,或者我不知道发生了什么。

    你知道怎么调试这个吗?我还尝试删除插件/宝石。没有变化。

    谢谢你的帮助!

    1 回复  |  直到 13 年前
        1
  •  2
  •   fl00r    14 年前

    试试这个

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