私は次の結果を達成しようとしています:
has_many の「タグ」を持つ carousel_images のモデルがあります。条件を満たしたカルーセルのみ画像を表示したい。さまざまなアプローチを試してみましたが、最も近いのは以下のコードですが、タグごとに 1 つだけではなく、タグごとに画像が表示されます。
<div class="span12">
<div id ="myCarousel" class="carousel slide">
<div class="carousel-inner">
{% for caro in contents.caro_images %}
{% assign first_loop = forloop.index0 %}
{% for tag in caro.tags %}
{% if tag.tag_name|downcase contains page.slug %}
<div class="{% if first_loop%}active {% endif %}item">
<a href="{{ caro.url}}">
<img src="{{ caro.image.url }}" width="720" height="316" alt="">
</a>
</div>
{% endif %}
{% endfor %}
{% endfor %}
<a style="display:none;" class="left carousel-control" href="#myCarousel" data-slide="prev">‹</a>
<a style="display:none;" class="right carousel-control" href="#myCarousel" data-slide="next">›</a>
</div>
</div>
</div>
内側のforループチェックタグ内に表示される実際の画像に関係していることはわかっていますが、そのループの外側でチェックを行い、画像を1回だけ表示する方法が本当にわかりません。
また、「アクティブ」クラスを適切に設定する方法も 100% わかりません。これは、2 次追加ループ内にネストされているためです。
前もって感謝します!
編集----これは作業コードです:
<div class="span12">
<div id ="myCarousel" class="carousel slide">
<div class="carousel-inner">
{% for caro in contents.caro_images %}
{% assign first_loop = forloop.index0 %}
{% for tag in caro.tags %}
{% if tag.tag_name == page.slug %}
<div class="{% if first_loop == 0 %}active {% endif %} item">
<a href="{{ caro.url}}">
<img src="{{ caro.image.url }}" width="720" height="316" alt="">
</a>
</div>
{% endif %}
{% endfor %}
{% endfor %}
<a style="display:none;" class="left carousel-control" href="#myCarousel" data-slide="prev">‹</a>
<a style="display:none;" class="right carousel-control" href="#myCarousel" data-slide="next">›</a>
</div>
</div>
</div>
エンドレスなアプリの再起動も、動作に貢献した可能性があると思います.