有条件地添加更高级别的html元素而不重复内部内容的优雅方法是什么?如何在不使用partials(一个文件中的所有内容)的情况下实现这一目标?
例如,假设我有这个内容,并且我想基于某些条件将所有内容包装在div中,因此(img,'some code'x 3)不会重复。
- unless p.product_url.nil?
#myDiv
%img{src: img_url}
some code
some code
some code
- else
%img{src: img_url}
some code
some code
some code
答案 0 :(得分:2)
- content_for :inner_contents do
%img{src: img_url}
some code
some code
some code
- unless p.product_url.nil?
#myDiv
= yield :inner_contents
- else
= yield :inner_contents
这是基于https://stackoverflow.com/a/7240476/605707,如Deefour所述。