次のレールビュー(haml)を使用する:
.row
.span7
%h1 Listing categories
%p
- @categories.each do |category|
.accordion-group
.accordion-heading
.accordion-toggle{"data-toggle" => "collapse", "data-target" => "##{category.path}"}= link_to category.name, "##{category.path}"
- @competitors.each do |category_path, competitors|
.accordion-body.table.collapse.in{:id => "#{category_path}"}
%table.accordion-inner
%thead
%tr
%th= "Project"
%th= "Description"
%th= "Watchers"
%th= "Forks"
%tbody
- competitors.each do |competitor|
%tr
%td
= link_to "#{competitor["html_url"]}".sub( "https:\/\/github.com\/", "" ), "#{competitor["html_url"]}"
%td
%span »
= competitor["description"]
%td
%span.badge.badge-info= competitor["watchers"]
%td
%span.badge.badge-warning= competitor["forks"]
(@ category.eachループ内にある)と(他のループ:ループ内にある)の.accordion-group
両方を含むcssクラスが必要です。.accordion-heading
.accordion-body
@competitors.each
2つの.each
rubyループは、hamlでは同じ「ノードレベル」にありますが、それらのcssクラスは.accordion-heading
、cssクラスコンテナに含ま.accordion-body
れている必要があります。.accordion-group
私が必要とするresoultinghtmlは、次のようなものです。
<div class="accordion-group">
<div class="accordion-heading">
<div class="accordion-body in collapse" id="collapse_id">
</div>
<div class="accordion-group">
<div class="accordion-heading">
<div class="accordion-body in collapse" id="collapse_id">
</div>
<div class="accordion-group">
<div class="accordion-heading">
<div class="accordion-body in collapse" id="collapse_id">
</div>
...
...私は現在この間違ったhtmlコードを取得していますが:
<div class="accordion-group">
<div class="accordion-heading">
</div>
<div class="accordion-group">
<div class="accordion-heading">
</div>
<div class="accordion-group">
<div class="accordion-heading">
</div>
...
<div class="accordion-body in collapse" id="collapse_id">
<div class="accordion-body in collapse" id="collapse_id">
<div class="accordion-body in collapse" id="collapse_id">
...
インデントhamlの正しい方法が見つかりません...