如何在Rails中将资源重定向到另一个控制器

3
我有两个模型:BookMagazine。在属性方面有一些不同,但我希望它们共享相同的控制器和视图(也就是Book模型的控制器和视图)。

我的问题是:在routes.rb中设置Magazine模型的路由的正确方法是什么,考虑到Book已经按照以下方式设置了resources :books

这是一个基础问题,但我想学习最好的方法,而不是手动逐个定义所有路由。

谢谢!

2个回答

5

您可以配置资源路由以指向特定的控制器:

resources :books
resources :magazines, controller: 'books'

这将创建以下路由:
                             books GET    /books(.:format)                              books#index
                                   POST   /books(.:format)                              books#create
                          new_book GET    /books/new(.:format)                          books#new
                         edit_book GET    /books/:id/edit(.:format)                     books#edit
                              book GET    /books/:id(.:format)                          books#show
                                   PATCH  /books/:id(.:format)                          books#update
                                   PUT    /books/:id(.:format)                          books#update
                                   DELETE /books/:id(.:format)                          books#destroy
                         magazines GET    /magazines(.:format)                          books#index
                                   POST   /magazines(.:format)                          books#create
                      new_magazine GET    /magazines/new(.:format)                      books#new
                     edit_magazine GET    /magazines/:id/edit(.:format)                 books#edit
                          magazine GET    /magazines/:id(.:format)                      books#show
                                   PATCH  /magazines/:id(.:format)                      books#update
                                   PUT    /magazines/:id(.:format)                      books#update
                                   DELETE /magazines/:id(.:format)                      books#destroy

能够对完整资源进行永久重定向将是非常好的。 - rept
像这样吗?https://dev59.com/LWIk5IYBdhLWcg3wl_Ep - infused

0

也要研究一些多态关系,我认为最终你会在这方面找到答案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接