Ruby on Rails Route 起步走

举个例⼦来说,这个网址:

http://rubyonrails.com/posts/123

Rails 会根据 config/routes.rb 这个档案的内容,比对在网址後⾯的
/posts/123 应该交给谁处理。假设档案内容如下:
11 Routes
143

Rails.application.routes.draw do
get "/posts", to: "posts#index"
get "/posts/:id", to: "posts#show"
end

其中,这两⾏:

get "/posts", to: "posts#index"
get "/posts/:id", to: "posts#show"

的意思就是,「当使⽤者输入 /posts 这个网址,它会交由 posts#index 来处
理,意思是 PostsController 上的 index ⽅法;同理,当使⽤者输入
/posts/123 这个网址之後,它会转由 PostsController 上的 show ⽅法,
并且把 123 当做参数(:id)传给 Controller」。
想像⼀下这个情境:

客⼈上⾨了...
客⼈:「你好,我想要看所有的⽂章列表(输入网址 /posts )」
Route:「好的,我帮你转接到 PostsController 部⾨的 index 柜台,请
他帮您服务」
客⼈:「等等,我改变主意了,我只想要看第 87 号⽂章就好(输入网址
/posts/87 )」
Route:「没问题,请您⼀样到 PostsController 部⾨,但这次请找 show
柜台,并且把 87 这个号码牌给他,他会替您调阅资料」
客⼈:「那请问可以给我看看使⽤者的列表吗(输入网址 /users )」
Route:「不好意思,⽬前我们没有相关资料喔(回应 HTTP 404)」

Route 的⾓⾊就类似是这样,负责解读使⽤者输入的网址,然後转去对应的地⽅,
剩下的,就是 MVC(Model, View, Controller)的事了。


<<:  D3-用 Swift 和公开资讯,打造投资理财的 Apps { 使用 Alamofire 套件进行 URLRequest }

>>:  Day7 最近邻居法(K-Nearest Neighbors)

Day35 ( 游戏设计 ) 猜数字 ( 几 A 几 B )

猜数字 ( 几 A 几 B ) 教学原文参考:猜数字 ( 几 A 几 B ) 这篇文章会介绍,如何在...

在 Fedora 34 上安装官方呒虾米的 iBus 表格档 (影片录制步骤)

Fedora 34 内建 iBus 平台,直接安装行易有限公司释出的呒虾米表格档,使用完整度最高。 ...

[VSCodeVim] 推荐的Vim、VSCodeVim的参考资源

推荐的Vim、VSCodeVim的参考资源 [系列文目录] 这篇文章推荐几个Vim与VSCodeVi...

[Day 18]所以我说那个酱汁呢(後端篇)

挑战目标: MockNative Camp 这次的挑战应该就止步於此了,虽然後端是自己熟悉的部分,但...

javascript基础功能1

今天跟着网路上的教成学了很多有趣的js用法,除了打文字标题上去,还有学习如何制作列表跟贴上想要的图片...