Ruby on rails Rails路由未使用指定的名称
以下是“我的路线”文件的一部分:Ruby on rails Rails路由未使用指定的名称,ruby-on-rails,routes,Ruby On Rails,Routes,以下是“我的路线”文件的一部分: namespace :admin do namespace :gallery do post 'delete_collections', to: 'gallery#delete_collections' post 'import_collections', to: 'gallery#import_
namespace :admin do
namespace :gallery do
post 'delete_collections', to: 'gallery#delete_collections'
post 'import_collections', to: 'gallery#import_collections'
post 'delete_albums', to: 'gallery#delete_albums'
post 'import_albums', to: 'gallery#import_albums'
post 'check_albums_photos', to: 'gallery#check_albums_photos'
post 'check_album_photos/:id', to: 'gallery#check_album_photos'
post 'reorder_albums', to: 'gallery#reorder_albums'
post 'assign_albums_to_collections', to: 'gallery#assign_albums_to_collections'
post 'reposition_collections', to: 'gallery#reposition_collections'
post 'delete_gallery_items', to: 'gallery#delete_gallery_items'
post 'rebuild_gallery_items', to: 'gallery#rebuild_gallery_items'
post 'import_album/:flickr_album_id', to: 'gallery#import_album', as: 'import_album'
post 'import_album_complete/:flickr_album_id', to: 'gallery#import_album_complete', as: 'import_album_complete'
post 'delete_album/:flickr_album_id', to: 'gallery#delete_album', as: 'delete_album'
root to: 'gallery#index'
end
end
出于某种原因,当我运行rails路由时,路由“check_album_photos/:id”的输出是admin_gallery POST/admin/gallery/check_album_photos/:id(:format)admin/gallery/gallery#check_album_photos
知道为什么吗
如果我将添加为:“check\u album\u photos”
到路线的末尾,它会起作用,但这似乎是错误的
有什么建议吗?来自给定名称空间的路径将是/admin/gallery,控制器的名称是gallery\u controller,我想这就是为什么/admin/gallery+/gallery。如果需要/admin/gallery,请将其添加到admin下namespace@HarshSingh不,我想要一个名为admin\u gallery\u check\u album\u photos的路由,该路由接受单个id作为参数。为什么当我使用“as:”选项而不是不使用时它会工作?这只是Rails中定义路由的方式,端点将是控制器名称,因此如果您想要管理\u gallery\u check\u album\u photos,您必须创建一个名为该名称的控制器。最好使用名词作为控制器的名称。它使用:因为它创建了该名称的别名。