Cails在Rails 3.2中被资产管道打破(开发和生产)

时间:2013-02-28 21:45:45

标签: ruby-on-rails-3.2 ckeditor asset-pipeline

我使用ckeditor gem。在将ckeditor文件复制到公共文件夹之后,最后一切都工作了。但是,在资产预编译突然之后,ckeditor在开发和生产中再次消失了。

带有“CKEDITOR_BASEPATH ='/ assets / ckeditor'”的

ckeditor.js已成功包含在我的html输出的标题中,但未显示textarea。

服务器日志说:

    Served asset /ckeditor/skins/kama/editor.css - 404 Not Found (5ms)

但两者都有:app / assets / ckeditor / skins和app / public / assets / ckeditor / skin。

Soooooo

我尝试换到月亮皮肤,因为那是随宝石一起提供的。但是,我无法获取要编译的自定义app / assets / ckeditor / config.js文件。 app / public / assets / ckeditor / config.js总是看起来不一样。我删除它并重新编译,它又被打破了。有任何想法吗?非常感谢!

1 个答案:

答案 0 :(得分:0)

我仍然不确定问题的根源。然而,解决了它。

将我的ckeditor文件从app / assets / ckeditor移动到app / assets / javascripts / ckeditor后,它再次开始预编译,这很好,因为之后我能够使用我的配置.js文件。我在公共/资产中也有一些奇怪的剩余ckeditor文件,我不得不删除它们。我想知道为什么从Rails 3.2升级到3.2.11似乎让我的资产管道忽略了app / assets中的文件夹。

第二件事:然后使用这些预编译文件,似乎在application.js清单中提及它们是不够的。相反,我将以下内容放入application.html.erb的标题中:

<script type="text/javascript">var CKEDITOR_BASEPATH = '/assets/ckeditor';</script>
<% if controller.action_name == 'edit' then %>
    <%= javascript_include_tag  "/assets/ckeditor/config", "/assets/ckeditor/init" %>
<% end %>

所以,现在它有效。祝大家好运!