Как оставить тег открытым в HAML?
Я работаю над отзывчивым html-письмом без медиа-запроса и мне нужно вставить условие mso. Тем не менее, я не уверен, как я могу преобразовать это в HAML?
<!--[if (gte mso 9)|(IE)]>
<table class="outlook-wrapper">
<tr>
<td>
<![endif]-->
<table class="email-body">
// Some email content ..
</table>
<!--[if (gte mso 9)|(IE)]>
</td>
</tr>
</table>
<![endif]-->
Как заставить haml оставить тег открытым для моей оболочки Outlook? Так что я могу закрыть его сам после таблицы body-email.
1 ответ
Хм. Хитрая вещь. Я думаю, вы могли бы сделать что-то вроде:
<!--[if (gte mso 9)|(IE)]>
%table.outlook-wrapper
%tr
%td
%table.email-body
-# some email content
<![else]-->
%table.email-body
-# some email content
<![endif]-->
Но я уверен, что вам не нравится избыточность. Чтобы избежать этого, я бы поместил внутреннюю таблицу в частичное:
<!--[if (gte mso 9)|(IE)]>
%table.outlook-wrapper
%tr
%td
= render :email_body
<![else]-->
= render :email_body
<![endif]-->
(Вызов рендеринга будет зависеть от того, что вы используете в haml. Нечто подобное выше, вероятно, будет работать с rails.)