我如何正确放置这个ruby代码?

时间:2012-04-13 01:15:30

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

我有一段代码显示了复杂的资源“列表”。复杂,我的意思是它有名称,日期,发布时间,评论数量,图片,描述,以及更多你显然只想写一段代码的东西。

我正在考虑如何进入rails体系结构并且我处于亏损状态

我需要在不同的控制器中使用不同的变量显示资源列表。目前它的部分名为_resource_view.html.erb

这适用于主要列表,但它不适用于个人资料列表,它采用相同的格式但显示不同的资源

_resources_expanded.html.erb

<ul class="res-list">
  <% @resources.each do |resource| %>
    ... list stuff
  <% end %>
</ul>

它在索引上使用@resources,但在个人资料页面上它使用相同的列表代码,但@user.resources.each do |resource|

除外

我在考虑这样的事情,但这似乎是多余的......我甚至不确定它是否会起作用

<ul class="res-list">
  <% @resources.each do |resource| %>
    <%= render 'layouts/resources_expanded' %>
  <% end %>
</ul>

1 个答案:

答案 0 :(得分:2)

不要使用实例变量,在partial中使用局部变量 - 这样每次都可以通过@resources.each循环传入一个变量。

<%= render 'layouts/resources_expanded', :resource => resource %>

然后在_resource_view.html.erb中将@resource更改为资源