2017-05-15 1 views
0

레일즈 서버의 mailer.html.erb에있는 MSO 조건부에 루비 컨텐츠를 내장하려고합니다.MSO 조건부 및 ERB 태그

href가 mso의 경우 "www.example.com/edit/ < % = @user [: id] %>/< % = @user [: reset_digest] %>"렌더링 때문에 작동하지 않는 것 같습니다.

<!--[if mso]> 
      <table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-spacing: 0; border-collapse: collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;"> 
       <tr> 
       <td style="padding-right: 10px; padding-left: 10px; padding-top:10px; padding-bottom:10px;" align="center"> 
        <v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="https://www.example.com/doctores/edit/<%= @user[:id] %>/<%= @user[:reset_digest] %>" style="height:42px; v-text-anchor:middle; width:170px;" arcsize="15%" strokecolor="#3AAEE0" fillcolor="#3AAEE0"> 
        <w:anchorlock/> 
        <center style="color:#ffffff; font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; font-size:16px;"> 
<![endif]--> 
      <a href="https://www.example.com/doctores/edit/<%= @user[:id] %>/<%= @user[:reset_digest] %>" target="_blank" style="display: inline-block;text-decoration: none;-webkit-text-size-adjust: none;text-align: center;color: #ffffff; background-color: #3AAEE0; border-radius: 6px; -webkit-border-radius: 6px; -moz-border-radius: 6px; max-width: 150px; width: 110px; width: auto; border-top: 0px solid transparent; border-right: 0px solid transparent; border-bottom: 0px solid transparent; border-left: 0px solid transparent; padding-top: 5px; padding-right: 20px; padding-bottom: 5px; padding-left: 20px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;mso-border-alt: none"> 
       <span style="font-size:12px;line-height:24px;"><span style="font-size: 16px; line-height: 32px;" data-mce-style="font-size: 16px;">Corregir Datos</span></span> 
      </a> 

감사

+0

는 당신이 보낸 이메일에 무엇을보고? – Syfer

+0

RubyMine은 정확하게 텍스트로 해석하지 않습니다. 나는 그것을 검증 할 어떤 형태도 정말로 가지고 있지 않다. – HFR1994

+0

당신은 테스트에서도 똑같이 보인다는 것을 의미 하는가? 또한 '>'및'< '에 대한 HTML 코드를 사용해 보셨습니까? – Syfer

답변

0

당신의 루비가 귀하의 경우 지금과 같은 경우 블록 및 출력 전체 MSO 조건, 뭔가에 바르 CONCAT 내가 찾은 유일한 해결책은 문자열입니다 :

<%== '<!--[if mso]> 
     <table width="100%" ...> 
      <tr> 
      <td style="..."> 
       <v:roundrect ... href="https://www.example.com/doctores/edit/' + @user[:id] + '/' + @user[:reset_digest] + '" style="..." ...> 
       <w:anchorlock/> 
       <center style="..."> 
     <![endif]-->' %> 

< % == '원시'erb 태그의 사용에주의하십시오. 정규적인 이스케이프 처리 된 < % = 태그와 일치하지 않는 결과가있었습니다.

솔직히 못생긴, 해키 솔루션입니다하지만 꽤 이메일에 대한 MSO 태그입니다 사용 좋아하지는)