Rails渲染部分(带动作代码)

时间:2012-01-24 20:51:23

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

有没有办法在rails中使用附带的代码渲染局部视图?

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

我希望能够将此部分包含在我喜欢的任何页面上,最好只使用

之类的内容
<%= render :action => "top_five_foobars" %>

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

2 个答案:

答案 0 :(得分:5)

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

  

单元格是Rails的视图组件。他们是迷你控制器   他们自己的MVC堆栈,可以调用逻辑和渲染视图。他们带来   将OOP返回到Rails的视图层,并为其编写可重用的portlet   你的应用程序很有趣。

     

你需要像购物车这样的东西,几乎就出现了   您应用的每个页面。

     

你不会使用部分和帮助,是吗?

答案 1 :(得分:2)

它可能不是最干净的方式,但我所做的是我在Application Controller中创建了一个帮助方法来检索前5个foobar。然后我在视图中调用此方法。我还缓存了显示结果的视图部分。