我只是想用 Ubuntu 12.04、Apache 和 PhusionPassenger 在我的新 VPS 服务器上测试一个简单的 rails 应用程序。
公共目录中的默认 index.html 文件一切正常。
但是,如果我删除此文件并尝试从视图目录中渲染文件,则会出现 404 错误。在我的本地机器上一切正常......
我想,也许它与资产管道有关,所以我尝试了“rake assets:precompile”,但没有帮助。
编辑:我已经设置了正确的根路径,包括动作和方法。
我只是想用 Ubuntu 12.04、Apache 和 PhusionPassenger 在我的新 VPS 服务器上测试一个简单的 rails 应用程序。
公共目录中的默认 index.html 文件一切正常。
但是,如果我删除此文件并尝试从视图目录中渲染文件,则会出现 404 错误。在我的本地机器上一切正常......
我想,也许它与资产管道有关,所以我尝试了“rake assets:precompile”,但没有帮助。
编辑:我已经设置了正确的根路径,包括动作和方法。
也许你还没有在你的应用程序中设置 root_path。你可以这样设置:root => "controller_name#action_name"
。
我找到了解决问题的方法:
日志文件显示“application.css 未预编译”。
而不是:rake assets:precompile
我用过bundle exec rake assets:precompile
,现在效果很好!
index.html 文件是根 URL 的默认替代文件。
因此,当您删除它时,就没有处理根 url (/) 的路由。
要设置根 URL (/),这些路由中的任何一个都可以:
root :to => 'controller#action'
root => 'controller#action'
get '/' => 'controller#action'