我试图让我的应用程序的根路由到路由到默认控制器。从我读到的内容来看,应该可以在routes.rb文件的底部使用类似的东西:
map.root :controller => 'albums'
或者甚至是:
map.home '', :controller => 'albums'
但是,当我尝试导航到http://myhost:8000/时,我只看到rails欢迎页面。在对routes.rb进行更改之后和测试之前,我使用以下命令重新启动应用程序:
sudo mongrel_cluster_ctl restart
以下是一些可能相关的环境信息:
% rails -v
Rails 2.3.3
% ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]
我确信我错过了一些简单的东西,但我看不出它是什么。有什么想法吗?
答案 0 :(得分:16)
您是否删除了Rails创建的静态public/index.html
页面?如果仍然在您的应用程序中,它将显示而不是您在路线中定义的根页。
答案 1 :(得分:13)
删除public / index.html文件。
答案 2 :(得分:3)
map.root :controller => 'albums'
语法是否正确。
要尝试的一些事项:
root / {:controller=>"albums", :action=>"index"}
答案 3 :(得分:1)
routes.rb
末尾的路线是最后使用的路线,因此您可以尝试使用map.root...
routes.rb
”
答案 4 :(得分:0)
我现在已经摸不着头脑了。 删除public / index.html文件对我来说是个小问题。 谢谢!
答案 5 :(得分:0)
我的问题略有不同。我已经设置了map.root条目,它可以与mongrel一起使用。但是,当我使用apache2作为带有Passenger模块的Web服务器时,我收到“500”错误。如果我重新启动我的/public/index.html,那么它可以在apache2下运行。
我试图直接去:
HTTP:///家/索引
这也给了我同样的'500'错误。
请有人能告诉我我做错了吗?
您好
我发现其他人遇到了同样的问题。事实证明,当我的应用程序处于开发模式时,Passenger正在生产模式下运行。
我通过将以下行添加到我的虚拟主机文件
将Passenger置于开发模式RailsEnv =开发
重启Apache,一切正常!!
呼!
Purvez