似乎无法弄清楚为什么ckeditor不再适用于heroku。 它在我的本地机器上运行良好。
UPDATE:当资产托管在heroku上时,无需asset_sync gem即可运行 - 但无法使用它。
错误:未捕获的SyntaxError:意外的令牌<在config.js中:1 ckeditor找不到config.js,<是404未找到页面的开头标记 无法加载资源:服务器响应状态为406(不可接受)
感谢我能得到的任何帮助。
Ckeditor gem,Heroku,Rails 4, asset_sync
的application.js
//= require ckeditor/init
//= require ckeditor/config
gemfile - 版本4.0.7
gem "ckeditor"
appplication.rb
config.autoload_paths += %W(#{config.root}/app/models/ckeditor)
config.assets.precompile += Ckeditor.assets
config.assets.precompile += %w(ckeditor/*)
production.rb
config.assets.compile = true
config.action_controller.asset_host = "//#{ENV['FOG_DIRECTORY']}.s3.amazonaws.com"
答案 0 :(得分:2)
资产版本更新时工作
答案 1 :(得分:1)
基于https://github.com/galetahub/ckeditor#include-customized-ckeditor_basepath-setting我通过在ckeditor / init之前包含ckeditor / basepath.js.erb来修复了在Heroku上使用asset_sync加载CKEditor资产:
<%
base_path = File.join Rails.application.config.action_controller.asset_host || '',
Rails.application.config.assets.prefix,
'/ckeditor/'
%>
(function() {
if (typeof window['CKEDITOR_BASEPATH'] === "undefined" || window['CKEDITOR_BASEPATH'] === null) {
window['CKEDITOR_BASEPATH'] = '<%= base_path %>';
}
}).call(this);
答案 2 :(得分:0)
当在系统中更新ASSET版本时,这将起作用。