Ruby on rails RubyonRails简单_格式添加<;br>;以粗体和斜体显示列表项的步骤

Ruby on rails RubyonRails简单_格式添加<;br>;以粗体和斜体显示列表项的步骤,ruby-on-rails,email-templates,Ruby On Rails,Email Templates,每当列表项以粗体或斜体文本开头,然后是普通文本时,就会出现在或标记的前面。只有混合了多种字体样式时才会发生这种情况。它出现在每个电子邮件客户端中 HTML <ul><li><strong>bold</strong></li><li><strong>bold </strong>and normal</li><li>normal and <strong>bold<

每当列表项以粗体或斜体文本开头,然后是普通文本时,
就会出现在
标记的前面。只有混合了多种字体样式时才会发生这种情况。它出现在每个电子邮件客户端中

HTML

<ul><li><strong>bold</strong></li><li><strong>bold </strong>and normal</li><li>normal and <strong>bold</strong></li><li><em>italic</em><strong> </strong>and normal</li><li>normal and <em>italic</em></li><li><strong>bold </strong>and <em>italic</em></li><li><strong><em>bold-italic</em></strong></li></ul>
  • 加粗
  • 加粗和正常
  • 正常和加粗
  • 斜体和正常
  • 正常和斜体
它在每个电子邮件客户端中的显示方式

这是我检查电子邮件时的代码


有什么建议为什么会这样

这不是一个简单的格式问题。从我所看到的,这是由于Chrome html源代码自动更正

如果您注意到,这种情况每两个标签就会发生一次

这是因为
simple\u格式
将每一行转换为

标记,这是
内部不允许的。所以Chrome为你修正了这一点,并尝试将其放在第一个允许的位置。在您的情况下,在下一个
  • 标记中

    当然,可以尝试在rails控制台中输出
    simple\u格式(您的\u文本)
    的结果。你应该看看问题出在哪里

    解决方法(种类) 尝试删除
    标记之间的所有
    \n
    ,并放入一行,如下所示:

    <ul><li>First</li><li>Second</li><li>Third</li></ul>
    
    • 第一
    • 第二
    • 第三

    遵循此指导原则并改进您的问题:您能否共享通过simple_格式传递的原始字符串?是的。这是第二个屏幕截图中的字符串-“
    • 粗体和普通
      • ”顺便说一句,字符串存储在数据库中对不起,我在描述中提供的信息太少。刚刚编辑了我的问题。问题是,每一个电子邮件客户端都会发生这种情况。所以我认为Chrome不会这么做。此外,标记的外观与您发布的标记相同。