我正在尝试向我正在创建的rails资源添加一些新页面。
我在路线文件中的操作如下:
resources :users, :only => [:index, :show] do
collection do
get :show_subpage1
end
end
当我查看我的路线时,show_subpage1显示,但不是我想要的格式。路线中显示的是:
show_subpage1_users GET /users/show_subpage1(.:format)
当我想要的路线是:
show_subpage1_users GET /users/:id/show_subpage1(.:format)
(带有身份证)。
我将如何在rails中进行此操作?
答案 0 :(得分:2)
获得:
show_subpage1_users GET / users /:id / show_subpage1(。:format)
不要将:show_subpage1
定义为collection
路线:
resources :users, :only => [:index, :show] do
get :show_subpage1
end
或者您可以将其定义为member
路线,如下所示:
resources :users, :only => [:index, :show] do
member do
get :show_subpage1
end
end
此外,如果您还要拥有成员路线:only => [:index, :show]
,我不确定您为何定义:show_subpage1
。我假设您确实要向:show_subpage1
数组添加only
,即resources :users, :only => [:index, :show, :show_subpage1] do
。
答案 1 :(得分:1)
资源member
或collection
resources :users, :only => [ :index, :show ] do
# /users/:id/profile
get 'profile', :on => :member
# /users/profile
get 'profile', :on => :collection
end
希望这会有所帮助