0

我正在编写一个 jQuery Mobile 网站,将其变成一个 PhoneGap/Cordova 应用程序。为此,我创建了一个全新的 Rails 项目,并在更改为 web 服务器的“瘦”gem 后,将整个 jQuery Mobile 应用程序放在新 Rails 项目的 public/myapp 文件夹中。

这一切都很好;我可以从 localhost:3000/myapp 访问我的移动应用程序,但经过几个小时的测试后,Rails 应用程序突然开始在各处抛出 404。可能发生了什么?

这是我在 rails 服务器日志中看到的错误之一:

ActionController::RoutingError (No route matches [GET] "/js/setlocation_address.js"

基本上,我的标签中对 javascript 或 css 文件的每个引用都会<head>返回 404 错误。

4

1 回答 1

1

我认为解决方案是把

config.serve_static_assets = true

config/environments/production.rb文件中,但我不确定这是否解决了问题,因为它是一个间歇性问题。

编辑

实际上,问题似乎是我有时会去localhost:3000/myapp,有时会去localhost:3000/myapp/index.html

尽管 Rails 每次都会将我路由到同一个 index.html 页面,但我的浏览器无法正确获取相对路径,并且会尝试使用 GETlocalhost:3000/css/styles.css而不是localhost:3000/myapp/css/styles.css.

于 2013-02-07T05:05:19.613 回答