iT邦幫忙

2022 iThome 鐵人賽

DAY 21
1
自我挑戰組

電腦、網路大解密 系列 第 21

Day 21 - Model

  • 分享至 

  • xImage
  •  

在實作篇後,我們又重新複習了一下 MVC 架構中的 Controller 和 View,今天再來針對 Model 多一點說明。

使用 generate model 指令會產生幾個檔案

bin/rails generate model Article title:string content:text

重要的是 article.rb 和一個 時間_create_articles.rb,另外兩個是測試用的程式。 article.rb 定義了 Article ,是我們之後要新增文章、搜尋文章會用到的 class。 時間_create_articles.rb 是一個資料庫遷移(Database Migration)的版本,定義了資料庫定義的變化,例如上面指令我們會產生以下 migration 版本,做的事情是新增一個 table articles,這張 table 裡面會有 titlecontent(另外 Rails 會幫忙產生 created_atupdated_at 來記錄每筆資料的建立、修改時間)

class CreateArticles < ActiveRecord::Migration[7.0]
  def change
    create_table :articles do |t|
      t.string :title
      t.text :content

      t.timestamps
    end
  end
end

這時候還沒有真正對資料庫進行任何操作。接下來我們使用 migrate 的指令後,才會真正執行 migration 版本的內容,對資料庫建立 articles 這張表。

bin/rails db:migrate

再來我們可以進入互動式的環境,來測試一下我們的資料庫。

bin/rails console

我們可以用 Article.new 來生出一筆 article 資料,設定它的 title、content。接著使用 article.save 就可以將該筆資料存到資料庫。

https://ithelp.ithome.com.tw/upload/images/20221006/201526272od9Pyeqw9.png

使用 Article.all 可以拿出資料庫中所有的文章;用 Article.first 可以拿第一筆;用 Article.find(x) 可以用這張表的主鍵來指定要拿的某一筆資料。

https://ithelp.ithome.com.tw/upload/images/20221006/20152627WW3ct2tCWc.png


上一篇
Day 20 - View 和 HTML
下一篇
Day 22 - 用 CSS 和 javascript 裝飾網站
系列文
電腦、網路大解密 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言