新手问题 关于 routes.rb 中欢迎界面的不同写法请教

xiaozi0lei · 2015年03月24日 · 最后由 xiaozi0lei 回复于 2015年03月24日 · 2099 次阅读

welcome#index 和 welcome/index 这两种写法有什么区别吗?路由文件里有的是用 # ,有的用/ ,具体有什么不同吗?还是这两种其实一个意思,只是历史兼容问题? 百度和 google 了一下,没找到合适的解释,这个是不是属于 rails 的历史范畴?

当然有区别

welcomes#index 对应的是 app/controller/welcomes_controller.rb welcomes/index 对应的是 app/controller/welomes/index_controller.rb

#1 楼 @jyootai welcomes#index 对应的是 app/controller/welcomes_controller.rb?如果是这样还要index干嘛呢

#2 楼 @cathy215 我的意思是对应这个文件,而 index 即为其中的 index method

#1 楼 @jyootai 应该是我描述的不够清楚。

get "welcome#index"
get "welcome/index"

如上的写法,是否有区别?我理解是一样的。您这里帮我解释的情况是说重定向到这两种写法的不同,如下:

get "welcome" => "welcome#index"
get "welcome" => "welcome/index#index"

如上我理解的是否正确?

@cathy215 媳妇儿,1 楼的仁兄是说welcome#index对应的是app/controller/welcomes_controller.rb这个 controller,index是这个 controller 里面的action

#4 楼 @xiaozi0lei 有区别的 二者对应的 URI Pattern 不同,具名路由也不同,你可以写入 route.rb 进行测试

看个技术贴也看到秀恩爱的,让单身狗怎么活,我也要找个程序员女朋友。

#5 楼 @jyootai 多谢仁兄,是我理解错误了。其实正确的 routes.rb 是这样的,我想错了

root :to => 'welcome#index'
get 'welcome/index'

其实是我没搞清 URI Pattern 和 具名路由的区别,这两个概念弄混了。非常感谢

@cathy215 ^^

#7 楼 @xiaozi0lei 老公,我没懂 5555

#6 楼 @w7938940 哈哈 预祝你找到个程序员女友

这帖子真欢乐,哈哈哈

楼主你就记住,前面带 # 的跟什么 URL 都没有关系,指的是 controller 里面的一个方法。

#14 楼 @blacktulip 多谢,你这个说法简单明了,好记!

需要 登录 后方可回复, 如果你还没有账号请 注册新账号