我正在尝试将我的应用程序切换到生产模式,但每次启动服务器时都会出现内部服务器错误(500)。
我正在使用的命令:
thin start -p 2048 -e production --ssl --ssl-key-file ./mykey.key --ssl-cert-file ./mycert.crt
所以我查看了我的日志:
- > production.log
ActionView::Template::Error (jquery-1.7.1.min.js isn't precompiled):
3: <head>
4: <title>MSDNAA</title>
5: <%= stylesheet_link_tag "application" %>
6: <%= javascript_include_tag "jquery-1.7.1.min.js" %>
7: <%= javascript_include_tag "application" %>
8: <%= csrf_meta_tags if false %>
9: </head>
嗯,我对Rails很陌生,所以我看了2个处理资产管道的Railscast (279和282)以确保我理解一切。 当我正确理解时,我必须做的事情如下: 将以下行添加到我的application.js:
//= require jquery
//= require jquery_ujs
//= require_self
//= require_tree .
这将包括所有必需的JQuery文件,本身以及我资产目录中的所有JS文件。 然后我必须确保JQuery-Rails gem已安装并包含在我的Gemfile中。我点击捆绑以确保它被使用并且evrything变得很好。 然后我添加了Rails Cast 282中解释的内容。 之后,我必须使用以下命令预编译我的资产:
bundle exec rake assets:precompile
之后我仍然得到那个错误。 无需加载jquery-1.7.1.min.js,它甚至不在我的应用程序目录中。 我担心的第二件事是当我通过浏览器连接到我的应用程序时:
https://myapp:2048/assets/application.js
我应该看到每个JScript相关的东西都包裹在一起。相反,我收到“404 - 找不到页面”错误,日志显示:“没有路由匹配/ [AppDir]/assets/javascripts/application.js”
我做错了什么? 我错过了什么? (我猜!)
VERSIONINFO:
Rails 3.2.8 ruby 1.9.3p194(2012-04-20修订版35410)[i686-linux]