我无法使用Ruby on Rail的in_groups_of方法以4个为一组显示产品行。当我的代码如下所示它完美无缺:
<% @products.in_groups_of(4, false).each do |row| %>
<div class="center">
<td>
<tr>
<% for product in row %>
<product>
<u><%= link_to "#{product.title}", product_path(product) %></u>
</product>
</tr>
</td>
</div>
但是,当我尝试添加其他产品信息时,所有产品都集中在一起。这是添加了附加信息的页面:
<% @products.in_groups_of(4, false).each do |row| %>
<div class="center">
<td>
<tr>
<% for product in row %>
<product>
<u><%= link_to "#{product.title}", product_path(product) %></u>
</product>
<%= image_tag product.picture.url if product.picture? %>
<% if product.active == false %>
<p>Sorry, this product is not available at this time.</p>
<% else %>
<div id="paypalbutton"><%= raw product.paypalbutton %></div>
<% end %>
<% end %>
</tr>
</td>
</div>
<% end %>
我认为我的SCSS可能是问题,但我不确定是什么导致它破裂。页面中使用的所有SCSS如下:
.products {
list-style: none;
margin: 0;
li {
overflow: auto;
padding: 10px 0;
border-bottom: 1px solid $gray-lighter;
}
}
product {
font-size: 1.5em;
letter-spacing: -1px;
margin-bottom: 30px;
font-weight: normal;
color: $dark-gray-darker;
u {
text-decoration: underline;
}
}
#paypalbutton {
height: 50px;
width: 200px;
margin:0 auto;
}
删除'margin:0 auto;'来自#paypalbutton并没有改变任何东西。
答案 0 :(得分:0)
我不认为这是解决这个问题的正确方法,但是我使用卡片和导航栏类来实现它
<div class="container-center">
<% @products.in_groups_of(4, false) do |group| %>
<% for product in group %>
<ul class="nav navbar-nav">
<li>
<div class="card" style="width: 25rem;">
<%= image_tag product.picture.url if product.picture? %>
<div class="card-block">
<h3 class="card-title">
<u><%= link_to "#{product.title}", product_path(product) %></u>
</h3>
<div class="center">
<% if product.active == false %>
<p class="card-text">Sorry, this product is not available at this time.</p>
<% else %>
<div class="card-text" id="paypalbutton"><%= raw product.paypalbutton %></div>
<% end %>
</div>
</div>
</div>
</li>
</ul>
<% end %>
<% end %>
</div>