假设我有一个名为 Books 的控制器(以及相应的 Book 模型)和一个名为 Users 的控制器(以及相应的 User 模型)。这些控制器中的每一个都具有标准的 CRUD 操作,它们也充当我网站 API 的工具。
我网站上的大多数页面都很容易适应这个框架。例如,看一本书。或查看您的用户帐户。或编辑您的用户帐户。等等。
但是假设我有一个有点独特的索引:我想显示一个用户列表和一个书籍列表。这提出了几个问题:
- 这应该放在哪个控制器下:UsersController、BooksController 或新控制器?
- 如果我创建一个新控制器,是否会被视为违反任何 MVC 原则,因为它不会特别绑定到任何特定模型?
- 这个新的控制器操作将如何检索数据?如果我在其中编写新的 ActiveRecord 查询,我会重复自己,因为我的其他控制器中已经有这样的代码。如果可能的话,我也更喜欢使用我自己的 API。