铁路收集路线的澄清

时间:2012-06-24 07:47:17

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

的routes.rb

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

佣金路线

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 :homesrake routes给了我以下内容:

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

相比之下,它不是homes_index,而是之前的home_index。是否有一些铁轨魔术正在进行?感谢一些解释。

1 个答案:

答案 0 :(得分:0)

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

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