我有一个带有 Item 模型和 Fixer 模型的应用程序。每个 Item 都属于一个 Fixer,而 Fixer 可以拥有多个项目。我想创建一个“日志”页面,其中特定的修复程序可以更新与它们关联的特定项目的信息。理想情况下是这样的
www.myappname.com/fixers/<fixer_id>/log/<item_id>
我对 Rails 还很陌生,所以我不确定如何找出这个路由/控制器。我查看了有关路由的 Rails 指南部分,唯一看起来与我想要的相似的是嵌套模型,但理想情况下我不想嵌套模型,因为虽然项目在技术上可能是“belong_to”修复程序,但这并不是真的现实世界中的情况(修复程序只是关联,belong_to 是最明智的方式),并且没有其他关系需要嵌套/有意义。更重要的是,我并不真正了解嵌套模型的含义或作用,并且我尽量避免实施我不完全理解的解决方案。
如果嵌套是要走的路,请告诉我,否则,我该如何路由呢?我在我的 routes.rb 文件中试过这个:
match 'fixers/:id/log/:id' => 'fixers#log'
并创建了log.html.erb,但我不知道如何在控制器中选择它的参数(它怎么知道我选择的是哪个“:id”?有没有更好的方法呢? ?
谢谢!