【问题标题】:Is there a way to run a view inside a partial有没有办法在部分内部运行视图
【发布时间】:2008-12-10 13:03:47
【问题描述】:

我知道这很奇怪。但我想不出其他方法来做我需要的事情。 我有一个控制器:报告和一个视图:报告。 此外,我还有一个充当仪表板的视图,我可以在其中看到多个区域(部分)。 我需要将此报告视图添加到我的仪表板,但不知道如何。 此报告视图利用来自控制器的复杂逻辑并显示结果。 我怎样才能将现有视图(报告)的(逻辑+表示)“卡”到我的部分中,以便我可以在我的仪表板上使用它??

谢谢。 阀门。

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:

    (我希望我理解问题所在,这里...)

    这部分似乎很重要:

    此报告视图使用复杂的 来自控制器的逻辑

    作为一般规则,控制器应该很简单。真的很简单。经验法则是“瘦控制器,胖模型”(Rails Envy 做了一些有趣但有用的screencasts on the subject

    如果您创建了一个新模型(很可能不是从 ActiveRecord::Base 继承),它封装了您想要传递到部分中的逻辑,会发生什么?然后不同的控制器/动作组合可以根据需要/需要将信息传递到您的视图中。

    或者我完全错过了重点(并非不可能!)

    【讨论】:

      【解决方案2】:

      不久前我遇到了类似的问题,当时他们弃用了 render_controller。我当时找到的唯一解决方案是使用 ajax,将参数传递给您要加载的页面,绕过布局。

      【讨论】:

        【解决方案3】:

        如果我没记错的话,你可以做一个 render_component,但现在这完全不受欢迎。

        这是解决问题的最简单方法

        【讨论】:

          【解决方案4】:

          我建议重构报表控制器中的代码(如果这是包含“复杂”逻辑的那个),并将其放入仪表板和报表视图可以使用的包装类中。

          【讨论】:

            猜你喜欢
            • 2012-09-27
            • 1970-01-01
            • 1970-01-01
            • 2016-10-15
            • 1970-01-01
            • 1970-01-01
            • 2012-10-20
            • 2020-02-17
            • 1970-01-01
            相关资源
            最近更新 更多