iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 7
1
自我挑戰組

Ruby菜鳥村村民遊記系列 第 7

遊記ep.7 比鄰而居的Rails村

最近因為有專題要處理,
所以想先為自己複習順便整理一下Rails相關

Rails框架主要由 Model、View、Controller組合而成,又簡稱 MVC
這篇想先來介紹一下 Model 與 ActiveRecord
Model 對我來說他有點像是翻譯機,我們告訴 Model 需要什麼資料,
他在幫我們跑去找資料庫(database)把我們的話語轉變成 SQl 的語言跟資料庫做溝通,
之後資料庫將搜尋結果交給 Model 再把結果物件化帶來給我們。

為什麼 Model 可以做到翻譯的功能呢?
我們先來說說 ActiveRecoed吧!
ActiveRecord 是 ORM(Object Relational Mapping)其中的一種框架,

Anyone with experience in developing web based applications or using a web framework has dealt with relational databases, such as MySQL or PostgreSQL. Dealing with SQL can be a bit scary at times, especially when dealing with data across different tables and applying various filters.
This is where ORM comes to the rescue.

ORM 的出現就是來解決 SQL 繁複的語法,ORM 是一種程式技術,試著串聯資料物件導向的程式語言

Reduce Code and Increase Efficiency.

讓寫的程式碼少一點,又可以讓效率提高一些,就是創造出 ORM 想要帶來的好處。

An object that wraps a row in a database table or view, encapsulates the database access, and adds domain logic on that data.

ActiveRecord也是一種設計模式,從資料表中取出的資料包裝成一個物件,
並在物件上增加一些邏輯操作,讓存取資料上更為便利。
而 Model 其實就是依照ActiveRecord模式下設計出來的,
這也是為什麼我們可以用比較簡單的語法請 Model 來為我們跟資料庫溝通!


上一篇
遊記ep.6 Include?!Extend!的Ruby村
下一篇
遊記ep.8 Migrate!的Rails村
系列文
Ruby菜鳥村村民遊記30

尚未有邦友留言

立即登入留言