ruby-on-rails - 具有两种不同格式的渲染属性
问题描述
在过去的几年里,我有一个使用 markdown 语言的属性的对象,最近该属性现在切换到使用 html。如何使用标记语言呈现所有过去的广告系列描述以及如何使用 .html_safe 呈现所有新的广告系列描述
html_safe
<h6 class="text-muted" itemprop="description">
<%= @campaign.product_description.html_safe %>
</h6>
降价
<h6 class="text-muted" itemprop="description">
<%= Campaign::Format @campaign.product_description, {render_html: true} %>
</h6>
如何渲染两者?这样,对于所有旧广告系列,它会呈现标记,而对于新广告系列,它会呈现 html。当我在同一行包含 html_safe 和 markdown 时,它只做标记,而不是来自 WYSIWYG 编辑器的 html。
解决方案
几个选项:
- 为您的广告系列添加标志。类似的东西
uses_html_description
。相应地设置其值。并在视图中打开它。 - 进行数据迁移并将旧格式的所有描述替换为新的 html 格式。
在这两者之间,我会选择后者。
推荐阅读
- c# - 为什么控制台应用程序没有 SynchronizationContext?
- c# - 构建一个通用 WebAPI,可以使用表名作为参数并从作为参数传递的表中返回数据
- laravel - 如何从 .env 获取变量到 vue 文件中的道具?
- string - 在 SAS 中,如何在宏字符串中的每个大写字母前添加空格?
- android - 此应用因违反 Google Play 开发者计划政策而从 Google Play 下架。Android 应用拒绝
- android - 有没有办法实时知道应用何时使用权限?
- masstransit - MassTransit:在消费者消费完所有消息后如何停止公共汽车?
- reactjs - 反应导航页面没有被卸载
- c# - 控制台应用程序中的线程与 WPF 应用程序中的线程有什么不同
- html - 如何使用css在具有可变宽度的图像的侧面显示上一个和下一个按钮?