Rails:将集合渲染为tr,周围有一个表格?

时间:2014-03-01 21:00:15

标签: ruby-on-rails view collections partial-views

我通常每个资源都有以下部分内容,例如: user

  • _users其中包含table定义theadtbody
  • _user,其中包含一个tr

用这样的快捷方式渲染所有东西会很好:

= render @users

但遗憾的是,这并没有将_users容器考虑在内,所以我总是要这样做:

= render 'users', users: @users

然后在_users部分我能做到:

= render users

这没有捷径吗?也许是这样的:

= render @users, wrapper: true
= render @users, wrapper: 'users'

1 个答案:

答案 0 :(得分:2)

不确定我是否正确,但我会尝试猜测。我理解你的问题的方式我会这样解决:

<强> _users.html.erb

<table>
  <thead>
   <tr>
     <th>Name</th>
    </tr>
  </thead>
  <tbody>
    <%= render @users %> # this will render   _user.html.erb
  </tbody>
</table>

<强> _user.html.erb

<tr>
  <td><%= user.name %></td>
</tr>

这应该有用,至少它对我有用。如果我没有正确理解你的问题,请告诉我。