有在路线定义一个错字,它应该是:
resources :pages do
resources :home
resources :activities
end
您可以通过运行bundle exec rake routes
来验证命名路由是什么。这是这个定义输出:
Prefix Verb URI Pattern Controller#Action
page_home_index GET /pages/:page_id/home(.:format) home#index
POST /pages/:page_id/home(.:format) home#create
new_page_home GET /pages/:page_id/home/new(.:format) home#new
edit_page_home GET /pages/:page_id/home/:id/edit(.:format) home#edit
page_home GET /pages/:page_id/home/:id(.:format) home#show
PATCH /pages/:page_id/home/:id(.:format) home#update
PUT /pages/:page_id/home/:id(.:format) home#update
DELETE /pages/:page_id/home/:id(.:format) home#destroy
page_activities GET /pages/:page_id/activities(.:format) activities#index
POST /pages/:page_id/activities(.:format) activities#create
new_page_activity GET /pages/:page_id/activities/new(.:format) activities#new
edit_page_activity GET /pages/:page_id/activities/:id/edit(.:format) activities#edit
page_activity GET /pages/:page_id/activities/:id(.:format) activities#show
PATCH /pages/:page_id/activities/:id(.:format) activities#update
PUT /pages/:page_id/activities/:id(.:format) activities#update
DELETE /pages/:page_id/activities/:id(.:format) activities#destroy
pages GET /pages(.:format) pages#index
POST /pages(.:format) pages#create
new_page GET /pages/new(.:format) pages#new
edit_page GET /pages/:id/edit(.:format) pages#edit
page GET /pages/:id(.:format) pages#show
PATCH /pages/:id(.:format) pages#update
PUT /pages/:id(.:format) pages#update
DELETE /pages/:id(.:format) pages#destroy
然后可以使用这些前缀为page_activity_path
或page_activity_url
。