【问题标题】:Clarification on rails collection routes澄清铁轨收集路线
【发布时间】:2012-06-24 07:47:16
【问题描述】:

routes.rb

resources :home do
 get 'download', :on => :collection
end

rake 路线

download_home_index GET    /home/download(.:format)     home#download
home_index GET             /home(.:format)              home#index
....

home_controller.rb

def index
end

当我访问 http://localhost:3000/home/download 时,即使 home_controller 中没有“下载”操作,它也能正常工作。我很困惑为什么即使没有动作,它也不会抱怨缺少动作。

我很好奇,所以我在 routes.rb 中添加了resources :homes,rake routes 给了我以下信息:

homes GET    /homes(.:format)             homes#index

相比之下,它不是homes_index,而之前是home_index。是否有一些轨道魔术正在发生?欣赏一些解释。

【问题讨论】:

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


    【解决方案1】:

    对于第一个问题,如果您对操作有一个看法,那么您并不严格需要定义该操作(但您确实应该)。

    对于第二个问题,您定义了resources :homes 与resources :home,因此生成的路由不同。 resources :home 不正确。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-18
      • 1970-01-01
      • 2011-12-11
      • 2012-12-12
      • 1970-01-01
      • 2022-06-14
      • 2011-11-16
      相关资源
      最近更新 更多