的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 :homes
,rake routes
给了我以下内容:
homes GET /homes(.:format) homes#index
相比之下,它不是homes_index,而是之前的home_index。是否有一些铁轨魔术正在进行?感谢一些解释。
答案 0 :(得分:0)
对于第一个问题,如果您对该操作有一个视图,那么您并不需要严格定义该操作(但您确实应该这样做)。
对于第二个问题,您定义了resources :homes
vs resources :home
,因此生成的路线不同。 resources :home
不正确。