Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – 了解rails路由:在route.rb中匹配vs根大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在从这个链接跟踪rails教程:
http://ruby.railstutorial.org/chapters/filling-in-the-layout#code:static_page_routes

在/config/routes.rb文件中,我有

SampleApp::Application.routes.draw do
  match '/contact',:to => 'pages#contact'
  match '/about',:to => 'pages#about'
  match '/Help',:to => 'pages#Help'

  root :to => 'pages#home'
end

当我运行的网站,它给我一个错误:没有路线存在页面/家.我在论坛周围搜索,ppl建议将匹配’/ pages / home’=> “网页#家”

做了

SampleApp::Application.routes.draw do
  match '/contact',:to => 'pages#Help'
  match '/pages/home' => 'pages#home'

  root :to => 'pages#home'
end

一切都奏效但现在我的问题是,有什么区别呢?

1. match '/something',:to => 'pages#something'
2. match '/something' => 'pages#something'
3. root :to => 'pages#home'

基本上,我刚才的代码.根本不应该占用主页面,我不会需要匹配页面/ home =>网页#回家吗?

令人困惑,

谢谢!

编辑1:我没有得到我想要的答案,所以我假设我的问题是错的.我会把它分解成两部分:

>有什么区别?

@H_729_3@match’/ pages / home’=> “网页#家”

root:to => “网页#家”

有些人说root将它带到你的根页面,我可以理解,但正如我上面所解释的,如果我只是根目录:pages / home显示一个路由错误. page / home应该与root页面一样,是否正确?

>有什么区别?

@H_729_3@match’/ contact’,:to => “网页#接触”
和@H_531_2@match’/ pages / home’=> “网页#家

在语法上,第一行有:to =>而第二行没有.是要:需要吗?它有什么作用?

谢谢

解决方法

我所知道的 @H_597_5@match '/something',:to => 'pages#something' match '/something' => 'pages#something'

是等同的在Rails中找到不止一种方式来说同样的事情并不罕见.常用的方法有很多符号.如果你关心,后者是我经常使用和看到的.

就根路径而言,这是发生了什么:root:to => ‘pages#home’正如你已经知道的那样将“/”映射到pages_controller.rb中的home方法.但是使用“page#home”不会创建url“pages / home”.它所做的就是告诉rails遇到“/”时执行什么.这就是为什么你还需要告诉rails遇到“pages / home”时该怎么办.路线定义是单向交易.

还有更多的我可以说,但我会尽量保持我的答案简短.如果你需要更多的澄清,让我知道.另外,this rails guide是一个很好的资源.

大佬总结

以上是大佬教程为你收集整理的ruby-on-rails – 了解rails路由:在route.rb中匹配vs根全部内容,希望文章能够帮你解决ruby-on-rails – 了解rails路由:在route.rb中匹配vs根所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。