【问题标题】:Rails render partial (with action code)Rails 渲染部分(带有操作代码)
【发布时间】:2012-02-18 02:53:14
【问题描述】:

有没有办法在 Rails 中呈现带有随附代码的局部视图?

例如:我希望能够创建一个局部视图,该视图将显示我网站上的前 5 个 foobar。这部分需要附带代码从数据库中检索一些foobars,根据算法对其进行排名,然后输出前5名的视图。

我希望能够在我喜欢的任何页面上包含这个部分,最好只使用类似的东西

<%= render :action => "top_five_foobars" %>

这可行吗?我习惯了 asp.net mvc,您可以在其中创建一个运行一些代码并返回部分代码的操作,但在 rails 中它似乎只返回模板...

【问题讨论】:

  • 你走的是什么路线?有没有办法在应用程序控制器中检索前 5 个 foobars 的数组,然后在任何你喜欢的地方使用它?
  • 不,很遗憾不是 - 就像 Michal 所说,它确实应该是控制器来决定应该在视图上显示什么

标签: ruby-on-rails-3 partial-views


【解决方案1】:

如果谷歌找到你,你可能正在寻找cells

Cells 是 Rails 的视图组件。它们是带有 他们自己的 MVC 堆栈,可以调用逻辑和渲染视图。他们带来 将 OOP 返回到 Rails 的视图层并编写可重用的 portlet 你的应用很有趣。

你需要一个购物车之类的东西,它几乎出现在 应用的每一页。

你不会使用 partial 和 helper 吧?

【讨论】:

  • 去年这个时候这个答案会很有帮助的!!
  • 哈哈不用担心,迟到总比没有好:D
【解决方案2】:

这可能不是最干净的方法,但我所做的是我在应用程序控制器中创建了一个帮助方法来检索前 5 个 foobar。然后我在视图中调用这个方法。我还缓存了显示结果的视图部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    相关资源
    最近更新 更多