Ruby on Rails中的控制器类应该包含什么?

时间:2012-02-06 07:14:20

标签: ruby-on-rails ruby

我正在制作一个测验Web应用程序,因此需要管理问题(添加,更改等),用户将浏览该集合并可能添加,报告等问题。

现在,如果我创建了一个问题控制器,它将包含处理问题(公共和管理员)的所有操作(方法),或者这是一个你制作两个控制器的情况?

有人可以解释我何时应该制作新的控制器,而不是仅仅向一个现有控制器添加操作吗?

如果我制作了两个控制器,我最终会复制很多代码。我应该做一个基类吗?

2 个答案:

答案 0 :(得分:1)

您可以使用单个控制器构建所有内容。我认为使用多个控制器与项目结构有关。

在你的情况下,我会在同一个控制器中实现所有类型的问题(例如,名为“questions_controller.rb”),在内部我会实现一个过滤器来在请求管理员问题时验证管理员用户。

您的应用程序很可能需要其他控制器,例如静态页面(联系人,关于),会话(登录,注销),成员(注册,个人资料)等。

关于基类,当然!如果你重复方法,这将是一个很好的解决方案。 Rails只是Ruby。

答案 1 :(得分:0)

如果您将管理员视为普通用户,则无法创建两个控制器。 如果您需要特殊用户以管理员身份管理问题,则需要创建两个控制器!

这是我的选择。希望可以帮到你!