【发布时间】:2010-05-01 13:06:36
【问题描述】:
在我以前的学习项目中,我总是使用单个控制器,但现在我想知道这是否是一种好的做法,甚至是否总是可行的。
在所有 RESTful Rails 教程中,控制器都有 show、edit 和 index 视图。如果授权用户登录,edit 视图变为可用,index 视图显示其他数据操作控件,如删除按钮或指向edit 视图的链接。
现在我有一个完全符合这种模式的 Rails 应用程序,但 index 视图不可重用:
- 普通用户会看到一个华丽的索引页面,其中包含大量图片、复杂的布局、没有 Javascript 要求……
- Admin 用户索引具有完全不同的简约设计、jQuery 表和大量附加数据,...
现在我不确定如何处理这种情况。我可以想到以下几点:
- 单控制器,单视图:使用
if语句将视图分成两个大块/部分。 - 单个控制器,两个视图:
index和index_admin。 - 两个不同的控制器:
BookController和BookAdminController
这些解决方案似乎都不是完美的,但现在我倾向于使用第 3 个选项。
最好的方法是什么?
【问题讨论】:
标签: ruby-on-rails architecture