【问题标题】:Rails route which disappears in application but is present in rake routesRails 路线在应用程序中消失但存在于 rake 路线中
【发布时间】:2010-08-05 13:47:02
【问题描述】:

我有一个神秘的问题......

在我的 routes.rb 中,我定义了一些路由,例如

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

如果我运行 rake 路线,我会得到 ​​p>

                     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"}

如您所见,显示操作已定义。 但在我的 rails 应用程序中,没有定义路线显示。

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

before_filter :zba

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

而且似乎没有定义路由动作....

然后,我尝试清理我的 routes.rb,就像删除我所有的 back 命名空间一样,它神奇地起作用了。

这似乎是一个错误,或者我不知道发生了什么。

你知道如何调试吗?我还尝试删除插件/宝石。不用找了。

我使用带有 ruby​​ 1.8.7 的 Rails3.rc 运行!

感谢您的帮助!

【问题讨论】:

  • 我想我也有同样的问题...有没有运气解决它?

标签: ruby-on-rails routing ruby-on-rails-3


【解决方案1】:

试试这个

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

【讨论】:

  • 感谢您的回答!我终于解决了,但似乎很奇怪。我的 routes.rb,我有 8 个匹配项,例如 match 'install', => 'logs#index' 如果我添加另一个匹配项,我的显示操作失败。这似乎是一个错误?还是一个简单的导轨限制?
猜你喜欢
  • 1970-01-01
  • 2014-05-08
  • 2023-03-24
  • 2017-11-30
  • 1970-01-01
  • 1970-01-01
  • 2017-06-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多