定制CKEDITOR_BASEPATH设置

时间:2015-08-05 05:59:29

标签: ruby-on-rails ckeditor ckeditor4.x

我希望自定义CKEDITOR_BASEPATH为https://github.com/galetahub/ckeditor

我的应用程序在baseURL上运行,如下所示 http://localhost:3000/tutorsaround

因此我将“app / assets / javascripts / ckeditor / basepath.js.erb”更改为

<%
  base_path = '/tutorsaround'
  if ENV['PROJECT'] =~ /editor/i
    base_path << "/#{Rails.root.basename.to_s}/"
  end
  base_path << Rails.application.config.assets.prefix
  base_path << '/ckeditor/'
  puts "#{base_path}"
%>
var CKEDITOR_BASEPATH = '<%= base_path %>';

但是,当我转到不同的页面时,我在控制台中看到一个错误。 获取http://localhost:3000/tutorsaround/boards/tutorsaround/assets/ckeditor/config.js?t=F0RD 404(未找到)

似乎路径已经插入每个子路径而不是http://localhost:3000/

所以我的问题是如何为CKeditor添加base_path,基本URL总是http://localhost:3000/tutorsaround,并且每当它想要引用js源时,它将是http://localhost:3000/tutorsaround/assets/ckeditor/ .....

EDIT2 我把base_path放在终端输出“tutorsaround / assets / ckeditor /” 我的问题是这个字符串在“localhost:3000 /”之后没有连接。但是,任何使用CKEditor的页面都会在页面url上连接此字符串。例如,如果“localhost:3000 / boards”具有CK编辑器,那么它将尝试通过“http://localhost:3000/boards/tutorsaround/assets/ckeditor/config.js?t=F0RD”获取资源 如果“localhost:3000 / boards / 1”使用了CKEditor,那么它将尝试从“http://localhost:3000/boards/1/tutorsaround/assets/ckeditor/config.js?t=F0RD”获取

1 个答案:

答案 0 :(得分:0)

修改 请检查下面的代码示例,因为我最初发布的代码示例没有自定义路径前缀

尝试删除条件(将行留在其中):

<%
  base_path = '/tutorsaround'
  base_path << "/#{Rails.root.basename.to_s}/"
  base_path << Rails.application.config.assets.prefix
  base_path << '/ckeditor/'
 %>

或者如果不起作用请尝试:

<%
  base_path = '/tutorsaround'
  base_path << Rails.application.config.assets.prefix
  base_path << '/ckeditor/'
%>

<强> EDIT2

app/assets/javascripts/application.js之前在init:

之前添加basepath依赖关系
//= require ckeditor/basepath
//= require ckeditor/init