我知道这很奇怪。但我无法想出其他方法来做我需要的事情。 我有一个控制器:报告和视图:报告。 此外,我有一个视图作为仪表板,我可以看到几个区域(部分)。 我需要将此报告视图添加到我的仪表板,但不知道如何。 此报告视图利用来自控制器的复杂逻辑并显示结果。 我怎么能“把”视图(报告)的(逻辑+演示)“卡住”到我的部分,所以我可以在我的仪表板上使用它?
谢谢。 阀。
答案 0 :(得分:1)
(我希望我能理解这个问题,在这里......)
这部分似乎很重要:
此报告视图使用复杂 来自控制器的逻辑
作为一般规则,控制器应该简单。真的很简单。经验法则是“瘦控制器,胖模型”(Rails Envy制作了一些有趣但有用的screencasts on the subject)
如果您创建了一个新模型(很可能不是从ActiveRecord :: Base继承),那么会封装您要传递给部分的逻辑会发生什么?然后,不同的控制器/操作组合可以根据需要/需要将信息传递到您的视图中。
或者我完全错过了这一点(并非不可能!)
答案 1 :(得分:0)
前一段时间我有一个类似的问题,他们弃用了render_controller。我找到的唯一解决方案是使用ajax,将参数传递给要加载的页面,绕过布局。
答案 2 :(得分:0)
如果我没有弄错你可以做一个render_component,但现在这完全不赞成。
这是解决问题的最简单方法
答案 3 :(得分:0)
我建议重构报表控制器中的代码(如果这是包含“复杂”逻辑的代码)并将其放入可由仪表板和报表视图使用的包装类中。