现在的位置: 首页 > 综合 > 正文

Rails3深入理解routes之一 – routes的目的

2013年10月26日 ⁄ 综合 ⁄ 共 408字 ⁄ 字号 评论关闭

rails routes(路由)的目的是匹配URL和控制器之间的联系。同时也会产生一些路径,可以在视图中直接使用。

1.1 连接URL到代码

当你的rails接受到以下的request请求

GET /patients/17

他会询问rails的routes来匹配到对应的控制器。如果第一次的routes是

这样的。

match "/patients/:id" => "patients#show"

他将会调用 patients控制器的show方法,同时参数中包含{ :id => “17” }

1.2 从代码中产生路径和URL

如果你的代码如下

@patient = Patient.find(17)

<%= link_to "Patient Record", patient_path(@patient) %>

rails的routes会产生/patients/17。这将会使你的view伸缩性更加好,而且会让你的代码更容易

理解。你会注意到id在routes不需要特别指定。

抱歉!评论已关闭.