2012-11-23 91 views
1

我只是想在我的新VPS服务器上用Ubuntu 12.04,Apache和PhusionPassenger测试一个简单的rails应用程序。删除public/index.html后出现错误404

一切工作正常与公共目录中的默认index.html文件。

但是,如果我删除这个文件,并尝试从视图目录呈现文件,我得到和404错误。 在我的本地机器上,一切正常......

我想,也许它与资产管道有关,所以我试着“耙资产:预编译”,但它没有帮助。

编辑:我已经设置了正确的根路径,并带有操作和方法。

+0

您是否记得在您的routes.rb文件中设置一个新的':root'? – MrDanA

+0

其他路线有效吗? – Mab879

+0

我没有其他路线。我刚刚创建了一个默认的rails应用程序,并想测试webserver上的所有内容。我生成了一个控制器和一个模板,删除了public/index.html并更新routes.rb – crispychicken

回答

1

我发现我的问题的解决方案:

日志文件显示 “application.css不预编译” 。

而不是:rake assets:precompile我用bundle exec rake assets:precompile,现在它工作正常!

2

也许你没有在你的应用程序中设置root_path。你可以像这样设置它:root => "controller_name#action_name"

0

index.html文件是您的根网址的默认替代品。

所以,当你删除它,那么没有路由处理根网址(/)。

设置根URL(/),这些航线将做:

root :to => 'controller#action' 
root => 'controller#action' 
get '/' => 'controller#action' 
+0

我在routes.rb中的根URL是正确的。如果我在本地机器上运行rails服务器,一切正常。只有在服务器上部署后,我才会收到错误消息。如果我有服务器上的public/index.html,它也可以... – crispychicken