如何以网格形式输出变量的内容?

时间:2018-07-23 05:01:32

标签: ruby-on-rails ruby web

对于Ruby on Rails项目,我具有以下代码,该项目在页面上输出用户列表:

<ul class="users">
  <%= render @users %>
</ul>`

结果是页面上的用户列表很长。

我的问题是:如何操纵@users,以便可以在页面上以网格形式(例如,一行5个用户,然后下一行然后下一个,依此类推)输出其内容?谢谢。

2 个答案:

答案 0 :(得分:0)

这是一个非常简单的示例,您可以自定义一个更好的表。 基本思想是将用户数组分组为n个元素的子数组,比方说5。

<% @users.each_slice(5).each do |row| %>
  <p><% row.each do |user| %>
      <%= user.name %> | 
    <% end %>
 </p>
<% end %>

答案 1 :(得分:-1)

<div class="row">
      <% users.in_groups_of(5) do |group| %>
        <% group.compact.each do |user| %>
           <div class="col-lg-3 col-md-4 col-xs-6 thumb">
             <%= image_tag (user.file_url), class: "img-sz" %>
               <h4><%= link_to user.title, user %></h4>
             <%= link_to "Edit", edit_user_path(user) , remote: true, class: "btn btn-default btn-xs" %>
              <%= link_to "delete", user,remote: true, method: :delete, data: { confirm: "You sure?" }, class: "btn btn-danger btn-xs" %></br></br>
           </div>
        <% end %>
      <% end %>
    <% end %> 
</div>

这是示例代码,根据您的结构更改属性名称。这将帮助您解决问题。

相关问题