Froala编辑器以html而不是编辑文本显示数据

时间:2017-03-14 01:17:38

标签: javascript jquery ruby-on-rails froala

我在rails中使用froala编辑器并将js代码放在application.js中,到目前为止禁用turbolinks后,使用编辑器创建和编辑数据是有效的,但不是为了显示数据,这里是我的js代码为编辑:



$(function(){
	$('.froala-editor').froalaEditor({
	inlinemode: false,
    minHeight: '200px',
    buttons: ['bold', 'italic', 'underline','formatBlock', 'align',
              'insertUnorderedList', 'insertorderedList', 'table', 'outdent',
              'indent', 'createLink', 'html'],
    tableResizerOffset: 10,
    tableResizingLimit: 50
	})
	
})




这个代码以苗条的方式查看数据:



.fr-view 
  = simple_format(t.attribute :failure_summary)




结果就像这样



Failure summary : <p>TM core break at 600m from IMEA. ff</p>
&#13;
&#13;
&#13;

而不是编辑器中编辑的文本

1 个答案:

答案 0 :(得分:0)

您需要添加对raw的调用,以告知Rails不要逃避内容。像这样:

.fr-view 
  = raw(simple_format(t.attribute :failure_summary))

请记住像Froala这样的编辑器(它能够直接编辑HTML),可能会注入一些有潜在危险的代码。 Rails guide on XSS

因此,如果此编辑器面向用户,我强烈建议您通过sanitizer发送内容,并仅将某些HTML元素(h1pdiv列入白名单, bstrong等)。确保script标记允许。