编程语言
首页 > 编程语言> > 解决ruby on rails 使用gem ‘kindeditor‘ js方式 本地上传图片失效问题

解决ruby on rails 使用gem ‘kindeditor‘ js方式 本地上传图片失效问题

作者:互联网

使用ajax的方式,渲染局部视图,js初始化富文本,导致本地上传图片不会带有域名饿的url
1.官网的方案1:

# coffeescript code
	  $(document).on 'turbolinks:before-cache', ->
	    KindEditor.remove('.rails_kindeditor')
	
	  $(document).on 'turbolinks:load', ->
	    $('.rails_kindeditor').each ->
	      KindEditor.create "##{$(this).attr('id')}", "allowFileManager": true, "uploadJson": $(this).data('upload'), "fileManagerJson": $(this).data('filemanager'), "width": '100%', "height": '300'
	    

或者是:

 # coffeescript code
  $(document).on 'turbolinks:before-cache', ->
    KindEditor.remove('.rails_kindeditor')

  $(document).on 'turbolinks:load', ->
    $('.rails_kindeditor').each ->
      KindEditor.create "##{$(this).attr('id')}", "allowFileManager": true, "uploadJson": $(this).data('upload'), "fileManagerJson": $(this).data('filemanager'), "width": '100%', "height": '300', "items":["fontname","fontsize","|","forecolor","hilitecolor","bold","italic","underline","removeformat","|","justifyleft","justifycenter","justifyright","insertorderedlist","insertunorderedlist","|","emoticons","image","link"]

但作为ajax方式,还是用js 手动回显解析成:

$('.rails_kindeditor').each(function () {
    KindEditor.create(".rails_kindeditor",{'allowFileManager': true,'uploadJson':$(this).data('upload'),'fileManagerJson': $(this).data('filemanager'),"width": '100%', "height": '500px'})
});

但这导致上传的本地图片只会显示路径 没有域名:
当我看到这个时,就明白是什么原因导致了:
在这里插入图片描述

urlType 属性的: 空为不修改URL,relative为相对路径,absolute为绝对路径,domain为带域名的绝对路径。
数据类型:String 默认值:空

所以js写法加上 urlType: ‘domain’ 即可

$('.rails_kindeditor').each(function () {
    KindEditor.create(".rails_kindeditor",{'urlType' : 'domain', 'allowFileManager': true,'uploadJson':$(this).data('upload'),'fileManagerJson': $(this).data('filemanager'),"width": '100%', "height": '500px'})
});

标签:kindeditor,KindEditor,upload,rails,js,allowFileManager,data
来源: https://blog.csdn.net/weixin_42800181/article/details/117195216