如何将内容Feed呈现到多个列中?

时间:2012-02-13 15:54:56

标签: ruby-on-rails partial renderpartial

我是编程新手,刚刚完成了RailsTutorial,现在正在尝试使用Rails构建一个Pinterest类型的站点。

我希望主站点能够通过多个列和无限循环显示项目,如:

1 2 3 4 5

6 7 8 9 10

。 。 。 。

我有我想要的布局,但不知道如何将内容Feed分成多个div。

home.html.erb(我知道这是错的)

<% if signed_in? %>

  <div id="container" summary="For signed-in users">
    <div class="news-column1"><%= render 'shared/feed' %></div>
    <div class="news-column2"><%= render 'shared/feed' %></div>
    <div class="news-column3"><%= render 'shared/feed' %></div>
    <div class="news-column4"><%= render 'shared/feed' %></div>
    <div class="news-column5"><%= render 'shared/feed' %></div>
<% else %>
...
<% end %>

_feed.html.erb

<% if @feed_items.any? %>
  <%= render :partial => 'shared/feed_item', :collection => @feed_items %>
<% end %>

_feed_item.html.erb

<div class="news">
    <div class="comments">
        <%= wrap(feed_item.content) %>
    </div>
    <div class="stats">
        #Likes, #Comments, #Repins
    </div>
    <div class="points">
    <%= link_to feed_item.user.name, feed_item.user %>
    </div>
    <div class="author">
    Posted <%= time_ago_in_words(feed_item.created_at) %> ago.
    </div>
</div>
<% if current_user?(feed_item.user) %>
  <div>
    <%= link_to "delete", feed_item, :method => :delete,
                                     :confirm => "You sure?",
                                     :title => feed_item.content %>
  </div>
<% end %>

2 个答案:

答案 0 :(得分:1)

Ryan Bates向您展示了如何执行此操作here

这里的摘要是代码:

<table>
<% @tasks.in_groups_of(5, false) do |row_tasks| %>
  <tr>
    <% for task in row_tasks %>
      <td><%= task.name %></td>
    <% end %>
  </tr>
<% end %>
</table>

答案 1 :(得分:0)

这似乎很适合我:

<div class="container-fluid">
  <% @buildings.each do |building| %>
    <div class="col-md-3">
        <%= building.name %>
    </div>
  <% end %>
</div>