我定义了以下路线:
resources :scenes do
member do
match 'files' => 'scenes#files', via: :get, as: 'scene_files'
end
end
我希望能够将嵌套路由称为scene_files_path
,但Rails坚持在路径中添加额外的scene
,因此我最终得到的是scene_files_scene_path
。我怎样才能得到我想要的指定路线?
答案 0 :(得分:2)
我开始使用
简化您的成员区块resources :scenes do
get :files, :as => :scene_files, :on => :member
end
然后我偶然发现了
resources :scenes do
get :files
end
产生:
> rake routes
scene_files GET /scenes/:scene_id/files(.:format) scenes#files
scenes GET /scenes(.:format) scenes#index
POST /scenes(.:format) scenes#create
new_scene GET /scenes/new(.:format) scenes#new
edit_scene GET /scenes/:id/edit(.:format) scenes#edit
scene GET /scenes/:id(.:format) scenes#show
PUT /scenes/:id(.:format) scenes#update
DELETE /scenes/:id(.:format) scenes#destroy
只有一个问题,param键是:scene_id
而不是id