gpt4 book ai didi

ruby-on-rails - 行 "get '/patients/:id', 到 : 'patients#show' , 是什么 : 'patient' "do?

转载 作者:太空宇宙 更新时间:2023-11-03 17:05:11 25 4
gpt4 key购买 nike

我正在学习 ruby​​ on rails,但我无法理解这条线:

摘自 http://guides.rubyonrails.org/routing.html :

get '/patients/:id', to: 'patients#show', as: 'patient'

字符串文字上下文中的单个冒号是什么意思?我认为“get”函数解析了它。
'to' 和 'as' 上下文中的单个冒号怎么样?对此,我一无所知。

我读到单冒号指的是一个符号,但它们总是以以下格式格式出现
:nospace_varname

本质上,这是一道语法题。

非常感谢!

最佳答案

定义如下

get '/patients/:id', to: 'patients#show', as: 'patient'

生成一条路线:

 patient GET    /patients/:id(.:format)              patients#show

在哪里

get : 指HTTP方法

/patients/:id :将是匹配的路径,如 /patients/1:id 只是一个占位符。

to: 'patients#show' :将路由映射到 PatientsController

show 操作

as: 'patient' :将为您的路线创建一个 prefix。因此,您可以在应用程序中以 patient_urlpatient_path 的形式轻松访问它。

当您以 patient_path(@patient) 访问此路径时,其中 @patient 是 id=1 的患者记录实例。然后生成的路线将是 /patients/1:id 将映射到 @patient.id

to:as: 中的冒号而言,它们是必需的,因为这些是在 get 方法中传递的选项。它们作为散列传递,根据散列的 Ruby 语法,如果键是 symbol,则需要 : 将其表示为 symbol .

它可以以任何一种方式使用,新的 Ruby(Ruby 1.9 及更高版本)语法如下:

to: 'patients#show'

或者使用旧的 Ruby 语法:

:to => 'patients#show'   ## Using Hash Rocket

关于ruby-on-rails - 行 "get '/patients/:id', 到 : 'patients#show' , 是什么 : 'patient' "do?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22942273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com