2012-02-09 52 views
2

我对ckeditor“3.7.0.rc2”gem有个大问题。heroku上的Rails 3.1 ckeditor

在开发过程中,它与s3后端的上传效果很好。

但在heroku上它不起作用。

问题是,ckeditor/vendor/skins /(kama)或(office2003)或(v2)/editor.css文件中包含一个使sass编译器尖叫的错误。像这样的错误“过滤:;”,因为没有价值它不起作用。

在本地更改文件没有意义,因为heroku会在我部署时下载该gem。

我试图在本地打包gem,并制作我自己的git fork并安装它。但是,随后

RAILS_ENV=production bundle exec rake assets:precompile 

命令预编译的CKEditor的文件夹中的所有文件,并始终处于

rake aborted! Permission denied 

当我安装了“3.7.0.rc2”宝石预编译结束,一些CKEditor的JS文件预编译但不是全部。

我该如何解决这个问题?

回答

0

解决的办法是分叉git repo,删除所有不需要的并纠正错误。 js文件。然后预编译工作,现在该应用程序在heroku上运行。

这里是我的叉子https://github.com/andreaslyngstad/ckeditor

它的工作在我的项目的链接,但我已经删除了,我没有使用,所以如果你使用其中的一些js文件,这是不适合你。

+0

你能和我们一起分享这个修复叉吗? – soulnafein 2012-02-21 14:21:14

+0

添加链接,附带评论 – 2012-02-21 19:30:58

1

当你分叉ckeditor gem并在Gemfile中使用分叉的git路径时,heroku会从分叉的git repo中取出ckeditor的源,而不是gem。这应该解决这个问题。

你可以尝试的其他事情是预编译你的开发机器中的资产并将资产推送到heroku。这将确保heroku不会预编译这些资产。更多信息请见http://devcenter.heroku.com/articles/rails31_heroku_cedar。这将只在雪松堆栈上运行

+0

感谢您的回答。我在本地机器上进行预编译,并从分叉的git路径中拉出。问题是,当我这样做时,编译它就会出现问题。我在雪松堆栈 – 2012-02-09 23:20:08

+0

你检查了这个线程吗? https://github.com/galetahub/ckeditor/issues/43 – 2012-02-09 23:28:32

+0

再次感谢。是的,我已阅读第43期。如果我可以控制heroku中的宝石,我可以更改宝石中的文件。我知道什么是错,但不知道如何解决。 – 2012-02-10 07:57:44