实际上什么是“家”:map.root:controller => “家”

时间:2010-06-08 23:10:31

标签: ruby-on-rails

我看到很多:

map.root :controller => "home"

我知道简单,但家里指的是什么?一份文件?控制器?它是如何/在哪里获得它的魔力?

3 个答案:

答案 0 :(得分:3)

阅读the documentation

此特定路由将“/”映射到控制器“home”的操作index(默认值),最有可能位于“app / controllers / home_controller.rb”中。

类似地,

map.connect "foo", :controller => "something"将map / foo映射到“某事”控制器的index动作。

答案 1 :(得分:0)

在这种情况下,Rails会将根请求路由到'home'控制器,尽管你应该指定一个明确的动作......我想你确实想要索引动作

答案 2 :(得分:0)

map.root:controller => “家”有两件事可以解决。

1 - map.root将始终视为您的网站主页

作为示例,如果您的主页位于名为“网站”的控制器和名为“home_page”的操作中

你可以将根目录作为

map.root:controller => “网站”,:action => 'home_page'

2 - 如果您指示的是没有给出动作的控制器,则rails将默认重定向到该控制器的“索引”动作

所以在这种情况下

map.root:controller => “home”将重定向到'home'控制器'索引'动作

希望这会有所帮助

欢呼声, sameera