ruby-on-rails - tinymce setContent 不适用于 erb

标签 ruby-on-rails tinymce erb

在我的网络应用程序中,我使用tinymce编辑器来允许用户创建html电子邮件。我提供了一个功能,他们可以将模板保存到数据库中,以便他们可以将其用于多封电子邮件并在任何他们想要的地方访问它。但是当我尝试将存储在数据库中的内容加载回编辑器时,它只是插入 html 字符串。我想要它,这样 html 就会被渲染,这样他们就可以看到模板,就像他们保存模板时一样。

我认为这个问题与 ERB 有关,因为当我传入普通字符串时它工作正常,但是当我使用 ERB 来使用实例变量时,它只是将内容设置为 html 字符串,格式不正确。这是我的代码:

tinyMCE.init({
    mode : "textareas",
    theme : "advanced",
    ...
    oninit : "loadTemplate"
});

function loadTemplate() {
    tinyMCE.activeEditor.setContent("<%= @template %>");
}

这只是 <strong>Text Here</strong>在编辑器中,但是这个:

tinyMCE.init({
    mode : "textareas",
    theme : "advanced",
    ...
    oninit : "loadTemplate"
});

function loadTemplate() {
    template = "<strong>Text Here</strong>";
    tinyMCE.activeEditor.setContent(template);
}

工作得很好,并将此处的文本放入编辑器中。这里发生了什么导致了这个问题?

最佳答案

如果@template包含一个HTML字符串,rails会自动转义它。为了防止转义,请尝试添加 raw,如下所示:

<%= raw @template %>

关于ruby-on-rails - tinymce setContent 不适用于 erb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12113411/

相关文章:

ruby-on-rails - 尝试使用 Ruby api 创建虚拟机实例时出现错误 MsRestAzure::AzureOperationError: AuthorizationFailed

ruby-on-rails - 处理 Controller 中的唯一记录异常

javascript - 有没有办法阻止 contenteditable 插入符号出现在 IE 10 中的元素上?

javascript - rails : Cannot read property 'addEventListener' of null

ruby-on-rails - 将 HAML 与 RSPEC 集成

ruby-on-rails - Rails - 支持为多个模型创建草稿的好方法

tinymce - 在 TinyMCE 中应用 css

javascript - 如何在 TinyMCE 4.0.10 版本中使用 importcss 插件? (无法加载 content_css 并查看样式下拉列表)

ruby-on-rails - ruby rails : undefined method 'before_save'

sql - Postgresql-9.4 错误 : "PG::Error: ERROR: operator does not exist"