Rails:渲染不同模型的集合

时间:2015-07-27 10:58:02

标签: ruby-on-rails

我在控制器中定义了一个包含不同模型的@results变量,并希望使用<%= render @results%&gt;在我的视图中渲染它们。

如何为render方法提供包含这些模型部分的目录的地址。

解决方案

<% @results.each do |result| %>
      <%= render "home/partials/#{result.class.name.downcase}", result.class.name.downcase.to_sym => result%>
<% end %>

1 个答案:

答案 0 :(得分:1)

渲染将查看当前对象的视图目录:

render 'form' # renders _form.html.erb in same directory

要查看另一个目录,请添加其目录名称:

render 'shared/form' # renders _form.html.erb in views/shared/

由于结果变量显然包含多个模型,因此只需为散列或数组中的每个条目分配一个directory值,并在视图或控制器中调用它。

根据你问题中非常非常少的信息,这是我能给你的最好的。

相关问题