ruby on rails -多视图同一模型



我有一个课程模型,它以restful的方式运行控制器和视图。

在我的课程展示中,它是完整的。我现在想要另一个课程显示,这将有一个简化的页面,它像原来的课程显示。

我如何实现这个?我希望它是restful的,所以在我的控制器中应该只有show, update, index等

我是否应该创建另一个与模型名称不同的控制器?例如Course2吗?

如果是管理视图与公共视图,我将为两个不同的RESTful控制器使用完全不同的名称空间。或者,如果你认为你将经常使用摘要和完整视图,那么根据这种区别创建名称空间。

另一个选择是在单个ERB模板中编码差异。或者你可以让show action使用一些条件逻辑呈现来自相同动作的不同模板。

如果没有更多的背景,我真的不能说什么是最好的选择。我个人反对创建非restful操作,除非它真的是一次性的事情。根据我的经验,非rest式操作往往会失控,控制器可能会变得非常丑陋和不直观。

如果这真的只是显示相同信息的子集或不同排列,那么我认为这是视图的工作。控制器最多只能使用相同的动作,但选择不同的视图来呈现,例如,如果用户想要看到html与纯文本,可能会这样做。

控制器的任务是解释模型,视图的任务是收集和显示信息。我认为,如果你所描述的"摘要"不仅仅是信息的一个子集,那么你会担心视图中有逻辑,例如,如果你开始计算旅行的距离,或者需要多长时间,或者根据所提供的数据计算花费多少,那么这将是糟糕的。

如果这只是一个子集,那么我建议根据控制器设置的一些变量来呈现部分,或者如果显示的组织需要有实质性的差异,那么控制器可以选择不同的模板来呈现

相关内容

  • 没有找到相关文章

最新更新