0

我有一段代码显示了一个复杂的资源“列表”。复杂是指它具有名称、日期、发布时间、评论数量、图片、描述以及更多您显然只想编写一次代码块的内容。

我正在尝试考虑这将如何进入 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>
4

1 回答 1

2

不要使用实例变量,在局部变量中使用局部变量——这让你每次通过@resources.each循环都传入一个变量。

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

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

于 2012-04-13T01:41:15.530 回答