选择正确的控制器来创建模型

时间:2011-11-16 05:47:25

标签: ruby-on-rails model-view-controller

假设我有User模型和Book模型。用户有很多书 鉴于我想要这3个操作:

  1. 向当前用户添加图书
  2. 查看当前用户拥有的所有图书
  3. 查看所有书籍
  4. 我应该创建哪些控制器?我觉得#2应该在用户控制器中,#3应该在书籍控制器中。这有意义吗?

    #1应该在哪里?什么是“正确的方式”? “大多数OOP”方式?

2 个答案:

答案 0 :(得分:0)

您应该同时拥有用户和图书控制器。在您的情况下,您应该使用模型之间的关联来相互关联。例如,User中的书籍“有很多”关联。

答案 1 :(得分:0)

作为User has_many Books,创建图书并将其添加到当前用户应该转到BooksController。我假设您将书籍存储在一个单独的表中,并且UserBook实例的ID在另一个表中(这将使您不再重复一次存储的书籍,这对我来说看起来很像像这里的一般情况一样)。