多个视图同一模型
Multiple Views Same Model
我有一个课程模型,它以 restful 方式进入控制器和视图。
对于我的课程展示,它是全功能的。我现在想要另一个课程展示,它将有一个简化的页面,并且它类似于原始课程展示。
我该如何实施?我希望它是 restful,所以在我的控制器中应该只有显示、更新、索引等
我是否应该创建另一个与模型名称不同的控制器?例如。课程 2?
如果它是管理视图与 public 视图,我将为两个不同的 RESTful 控制器使用完全不同的命名空间。或者,如果您认为自己经常需要这种摘要与完整视图的区别,请根据这种区别创建名称空间。
另一种选择是在单个 ERB 模板中对差异进行编码。或者您实际上可以让 show 动作使用某些条件逻辑呈现来自同一动作的不同模板。
虽然没有更多的上下文,但我真的不能说什么是最好的选择。我个人反对创建非 RESTful 操作,除非它真的是一次性的。根据我的经验,非 RESTful 操作往往会失控,并且控制器会变得非常丑陋和不直观。
如果这真的只是显示相同信息的子集或不同排列,那么我认为这是视图的工作。控制器最多可以使用相同的操作,但 select 呈现不同的视图,例如如果用户想要查看 html 与纯文本相比,可能会这样做。
控制器的工作是解释模型,视图的工作是收集和显示信息。我认为如果您所描述的 "summary" 不仅仅是信息的一个子集,您会担心其中包含逻辑的视图,例如,如果您开始计算行进的距离或行进的时间根据提供的数据会花费多少或花费多少,那就不好了。
所以我这只是一个子集,那么我会建议根据您的控制器设置的一些变量渲染部分,或者如果显示的组织需要有很大的不同,那么控制器可以 select要呈现的不同模板。
我有一个课程模型,它以 restful 方式进入控制器和视图。
对于我的课程展示,它是全功能的。我现在想要另一个课程展示,它将有一个简化的页面,并且它类似于原始课程展示。
我该如何实施?我希望它是 restful,所以在我的控制器中应该只有显示、更新、索引等
我是否应该创建另一个与模型名称不同的控制器?例如。课程 2?
如果它是管理视图与 public 视图,我将为两个不同的 RESTful 控制器使用完全不同的命名空间。或者,如果您认为自己经常需要这种摘要与完整视图的区别,请根据这种区别创建名称空间。
另一种选择是在单个 ERB 模板中对差异进行编码。或者您实际上可以让 show 动作使用某些条件逻辑呈现来自同一动作的不同模板。
虽然没有更多的上下文,但我真的不能说什么是最好的选择。我个人反对创建非 RESTful 操作,除非它真的是一次性的。根据我的经验,非 RESTful 操作往往会失控,并且控制器会变得非常丑陋和不直观。
如果这真的只是显示相同信息的子集或不同排列,那么我认为这是视图的工作。控制器最多可以使用相同的操作,但 select 呈现不同的视图,例如如果用户想要查看 html 与纯文本相比,可能会这样做。
控制器的工作是解释模型,视图的工作是收集和显示信息。我认为如果您所描述的 "summary" 不仅仅是信息的一个子集,您会担心其中包含逻辑的视图,例如,如果您开始计算行进的距离或行进的时间根据提供的数据会花费多少或花费多少,那就不好了。
所以我这只是一个子集,那么我会建议根据您的控制器设置的一些变量渲染部分,或者如果显示的组织需要有很大的不同,那么控制器可以 select要呈现的不同模板。