コンテナをループで閉じるにはどうすればよいですか?
-
29-10-2019 - |
質問
商品のリストがあり、商品フィードに広告を表示したい。
次のようなものが必要です: ジェネラコディセタグプレ
ERBでは、次のようになります。 ジェネラコディセタグプレ
これをHamlまたはSlimにどのように翻訳しますか?
2つの理由で、ループを2つのループに分割したくありません。ページごとの製品数がわからないことと、Railsのcycle()
ヘルパーで同じHTMLトリックを使用するより複雑なコードがあることです。ですから、それを可能にするための秘訣を見つけるのに大いに役立ちます。
解決
Hamlを使用すると、必要なときに生のHTMLを出力として記述できます。奇妙ですが、Erbで行ったように、これを使用してここで目標を達成できます。 ジェネラコディセタグプレ
インデントは奇妙に見えますが、AdSenseのものが外側にある2つのコンテナがあることがわかります。
他のヒント
HAMLの場合 ジェネラコディセタグプレ
コンテナを気にする必要はありません。商品と広告のクラスを処理するようにcssを設定するだけです。(これは、同じ名前のIDが複数あるという事実も示していますが、これらはクラスに変更する必要があります)。
これでうまくいくでしょうか?
surround
ヘルパーを使用した可能なHamlソリューション:
ジェネラコディセタグプレ
これは、コンテナdivを閉じたり開いたりすることを「偽造」しているという点で、ちょっとしたハックです。Hamlが知っている限り、私たちはまだその中にいます。このため、「コンテナ」クラス(およびdivが持つ可能性のあるその他の属性)を2か所で指定する必要があるという点で少し繰り返しが発生します。
このソリューションは