Я повторяю объект модели @products (в настоящее время 3 в БД), но мне также нужно применять различные стили для каждого из объектов, возвращаемых в моем представлении.Iterate over rails object and array
Вот мой текущий код в моем page_controller.rb получить только первые 3 продукта:
@products = Product.where(id: 1..3)
На мой взгляд index.html.erb:
<div class="row pricing-table">
<% @products.each do |p| %>
<div class="col-md-4">
<div class="panel <%= custom-style %>">
<div class="panel-heading"><h3 class="text-center"><%= p.title %></h3></div>
<div class="panel-body text-center">
<p class="lead" style="font-size:40px"><strong><%= number_to_currency(p.price, precision: 0) %>/month</strong></p>
</div>
<ul class="list-group list-group-flush text-center list-no-bullets">
<%= p.description.html_safe %>
</ul>
<div class="panel-footer">
<%= link_to("Request Quote", "/quote_forms/new", class: "btn btn-lg btn-block btn-danger-override") %>
</div>
</div>
</div>
<% end %>
</div>
сейчас , то, что я пытаюсь сделать, это добавить пользовательский стиль к 4-й строке div
. (я поместил в синтаксисе Еврорадио, так что вы можете увидеть, где я говорю о)
Итак, я добавил массив классов стилей CSS для page_controller.rb:
@style = ["danger", "info", "success"]
в надежде, что есть способ, чтобы получить 4-й линии div
элемент быть:
<div class="panel panel-danger">
в первой итерации, то во второй итерации:
<div class="panel panel-info">
и так далее.
Как бы я мог это сделать?
Да, отметил. Мне действительно нужно только получить первые 3 из моей БД для этой конкретной страницы. – Godzilla74