Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 隐式创建helpers-routes.rb和';匹配';声明_Ruby On Rails - Fatal编程技术网

Ruby on rails 隐式创建helpers-routes.rb和';匹配';声明

Ruby on rails 隐式创建helpers-routes.rb和';匹配';声明,ruby-on-rails,Ruby On Rails,我正在读欧比·费尔南德斯的《铁轨3路》,有一点我不确定我是否理解正确。我是rails新手,希望确保正确理解它。我有一些香草红宝石的经验。不多,但有一些 讨论的文本如下:(关于路由和config/routes.rb文件) “ 通过创建类似于 match 'auctions/:id' => "auction#show", :as => 'auction' 您可以在以下情况下使用好的助手方法 link_to item.description, auction_path(item.auct

我正在读欧比·费尔南德斯的《铁轨3路》,有一点我不确定我是否理解正确。我是rails新手,希望确保正确理解它。我有一些香草红宝石的经验。不多,但有一些

讨论的文本如下:(关于路由和config/routes.rb文件)

通过创建类似于

match 'auctions/:id' => "auction#show", :as => 'auction'
您可以在以下情况下使用好的助手方法

link_to item.description, auction_path(item.auction)
……”

我的问题是,具体地说,
match'auctions/:id'=>“auction#show”,:as=>“auction”
的哪个部分创建了helper函数?(例如
链接到拍卖
拍卖路径()
)是否是
:as=>“拍卖”
部分?创建任何帮助程序时是否不附加
:as=>“拍卖”

我的困惑源于我看到的其他指南,其中忽略了这一点,但不管怎样,似乎都创建了助手。rails在routes.rb文件中的
match
语句中具体使用了什么来创建帮助程序?如果它不是
:as=>'auction'
部分,那么将其附加到
match
语句的具体目的是什么


我知道这似乎是一个超级基本的问题,但这个细节似乎在我迄今阅读的文本中被掩盖了。提前感谢您对此提供的帮助。

是的,创建命名路由的是
:as=>'named_route'
部分(它反过来创建助手)。至于不说,您是指
routes.rb
中的
resources:something
实例吗?
resources
方法根据资源的名称自动生成一组URL帮助程序。

我刚刚尝试了以下方法:

match "alfa/beta", to: 'users#new'
在这种情况下,即使没有
:as=>“named_route”
,我也可以免费获得以下帮助程序

alfa_beta_path
正如预期的那样,它指向
用户#新

因此,如果没有
:as
规范,助手似乎也是通过解析路由字符串自动生成的。

谢谢您的回答。我参考了其他人在github上阅读的代码,试图熟悉rails的工作原理,以及我自己迄今为止对rails的摸索。(我有大约一周的rails使用经验,还有大约6个月的ruby使用经验。)我开始觉得,在这个问题上,如果我根本不懂ruby,我会更好。这让我了解到目前为止我在帮助者方面遇到的问题。如果我的名声再好一点,我会同意你的回答。再次感谢!有一个知识的门槛(至少对我来说),Rails不再那么“神奇”,开始变得有意义。Rails代码可能有点让人不知所措,但阅读它是了解事物如何工作的一个好方法。我认为,在开始学习Rails之前,了解Ruby最终会让你受益匪浅。