0

我的 webapp 中有一个PartsController,它运行得非常好。它发送正确的数据以供查看,以便视图可以呈现图表/统计数据/数据等,并且一切正常。

现在,我的应用程序中有另一个功能,我可以将部件组合成一个产品。现在我有一个ProductController我想基本上保留与部件控制器完全相同的行为,这意味着我想重用我的部件控制器中存在的视图,但只是发送不同的数据来查看。PartsController将发送一个数据ProductController并将其他数据发送到视图,但当然它们将属于同一类型。

做这个的最好方式是什么?也许产品控制器可以继承零件控制器?这甚至可以在rails中覆盖控制器中的某些方法但使用相同的视图吗?

4

1 回答 1

1

听起来您不想在 and 之间共享控制器逻辑,PartsControllerProductController只是在视图之间共享。如果是这样,请将模板放在一个公共目录中,然后在控制器中执行以下操作以呈现:

 # imagine the templates are in app/views/products
 render 'products/action_name'

如果您还想共享控制器逻辑,有几个选项:

  1. 两者都继承自一个共同的超类
  2. 一个继承自另一个(并覆盖选定的方法)
  3. 既是include共同的Module
于 2013-07-16T10:55:42.587 回答