我在 Sinatra 应用程序的 .haml 模板文件中有以下代码:
- if(@order == 'inverse')
- @list.reverse_each do |item|
.item
%span.action-move(data-icon="o")
.detail.title=item[0]
.detail.content=item[1]
%span.action-delete(data-icon="d")
- else
- @list.each do |item|
.item
%span.action-move(data-icon="o")
.detail.title=item[0]
.detail.content=item[1]
%span.action-delete(data-icon="d")
如您所见,5 行代码是相同的。有没有一种方法可以重构此代码以避免此处的重复,而无需创建额外的文件作为部分使用?