首页 > 解决方案 > rails引擎ckeditor图像上传导致异常

问题描述

我创建了一个包含 CKEditor 的引擎。

在我的虚拟应用程序中,form.cktext_area 工作正常并且渲染良好,但是当我尝试上传图像时,出现以下异常:

Ckeditor::PicturesController#create 中的 ActionController::InvalidAuthenticityToken

这是因为我在引擎中使用 CKEditor 进而导致一些身份验证/保护问题吗?

谢谢

标签: ruby-on-railsckeditor

解决方案


您必须在请求中发送 csrf 令牌,简单的方法是在每个 ajax 请求中添加 csrf 令牌:

document.addEventListener('turbolinks:load', function () {
  var csrfToken = document.querySelector('meta[name="csrf-token"]').getAttribute('content')
  if (csrfToken) {
    var obj = XMLHttpRequest.prototype.open;
    XMLHttpRequest.prototype.open = function(){
      var res = obj.apply(this, arguments);
      this.setRequestHeader('X-CSRF-Token', csrfToken);
      return res;
    }
  }
})

推荐阅读