我无法让WYMEditor在资产管道的Rails 3.2生产模式下正常工作。这是我的设置:
# app/assets/javascripts/application.js
//= require jquery
//= require jquery_ujs
//= require twitter/bootstrap
//= require wymeditor/jquery.wymeditor.min
//= require_tree .
WYMEditor文件位于vendor/assets/javascripts/wymeditor/*
# in app/views/layouts/application.html.erb just above closing </body> tag
<script type="text/javascript">
$(document).ready(function() {
$('textarea').wymeditor();
});
</script>
在开发模式下一切正常。但是,在我执行rake assets:clean
和rake assets:precompile
并启动我的服务器rails s -e production
后,WYMEditor不再有效。我查看public/assets/application.js
,看来WYMEditor代码包含在该文件中。但是,我得到的错误似乎表明WYMEditor正在查找相对于包含WYMEditor的页面的一些文件,而不是在预编译过程中创建的public/assets/wymeditor
文件夹中:
Started GET "/users/lang/en.js" for 127.0.0.1 at 2012-10-09 16:11:12 -0700
ActionController::RoutingError (No route matches [GET] "/users/lang/en.js"):
Started GET "/users/skins/default/skin.js" for 127.0.0.1 at 2012-10-09 16:11:12 -0700
ActionController::RoutingError (No route matches [GET] "/users/skins/default/skin.js"):
Started GET "/users/iframe/default/wymiframe.html" for 127.0.0.1 at 2012-10-09 16:11:12 -0700
ActionController::RoutingError (No route matches [GET] "/users/iframe/default/wymiframe.html"):
[snipped stack traces and more similar error messages]
经过大量谷歌搜索后,我遇到了一个页面,似乎表明当WYMEditor的代码包含在application.js
中并且它需要位于自己的单独文件夹中时,WYMEditor不满意。但是,我不知道这是否真实。什么是让WYMEditor在生产模式下工作的推荐方法?