加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 我应该何时在Rails中创建一个单独的控制器而不

发布时间:2020-12-16 23:09:57 所属栏目:百科 来源:网络整理
导读:参见英文答案 OO Design in Rails: Where to put stuff4个 考虑一个我有Orders模型的例子.触发索引操作会显示系统中的所有订单. 现在我想要一个单独的页面显示所有已退款订单的图表,另一个页面显示所有已取消的订单 – 不仅现在有一个过滤器,而且还有一个全
参见英文答案 > OO Design in Rails: Where to put stuff4个
考虑一个我有Orders模型的例子.触发索引操作会显示系统中的所有订单.

现在我想要一个单独的页面显示所有已退款订单的图表,另一个页面显示所有已取消的订单 – 不仅现在有一个过滤器,而且还有一个全新的视图.

什么是最佳做法:

1.)在OrdersController中为每个报告创建新操作(例如,refund_report和cancelled_report)

2.)使用单个show动作为每个报告创建新的控制器(例如,RefundReportController,CancellationReportController)?

3.)为所有报告(例如,OrderReportsController)创建一个新控制器,并为每个报告创建一个操作(例如,退款,取消等).

或者还有另一种我完全不知道的范例?

解决方法

使用#1:在OrdersController中为每个报告创建操作.这很简单,资源(Order)通过其关联的控制器将多个视图放入其中是有道理的.你还没有要求任何特定于这些报告之一的东西,它是一个好的/简单的模式1:获取动作(和路线)对应于1个视图.

如果您将来发现自己正在做一些特定于报告的事情,那么请考虑将该报告作为自己的控制器.但这可能永远不会发生,也不需要提前抽象,现在就要压低自己.

基本上,当您想要开始将该事物视为具有自己动作的自己的实体时,创建一个新的Controller.不要因为默认的REST选项没有为您需要的内容提供特定的成员操作而将某些内容分解为新的控制器.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读