我希望自定义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”获取
答案 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:
//= require ckeditor/basepath
//= require ckeditor/init