4 : 在資料庫裡保存資料

上章:作作看簡單的網站

Header4

0 : 這個章的目的

 學習,在資料庫裡保存資料的方法。
到這裡咱們學習了用Ruby on Rails作網站跟打開網站的方法。從這個章開始學習怎麼設定網站的詳細

 咱們複習一下吧。用Ruby on Rails做網站的時候,要設定什麼呢?

那個是網頁的顯示資料的保存。(請參考第二章

這個可以換成說,要設定
  • 網站提供者的網頁的顯示
  • 利用者的資料的發信
這個兩個。
※ 內容請參考第一章
詳細的說明這個網頁的顯示跟資料的保存

  • 網頁的顯示
  • 隨着操作資料的方法,設定「資料的顯示・新增・編輯・刪除」四種網頁

  • 資料的保存
  • 先設定資料的構造之後,各個網頁上設定資料的操作「資料的顯示・新增・編輯・刪除」

    這個資料的保存的設定裡有
    ⑴ : 資料庫的構造的設定 ⑵ : 保存資料方法的設定
    這個兩種。

    在「資料庫構造的設定」,決定資料庫要保存怎麼樣子的資料(決定Excel表的第一行),
    在「保存資料方法的設定」,決定資料的顯示跟保存的方法「資料的顯示・新增・編輯・刪除」。
※ 詳細的內容請參考第二章
在這個章解釋資料的保存

那麽先開始學習「作資料庫構造的方法」吧!


1 : 作資料庫的構造

 ① : 決定資料庫的構造


利用者發信的資料會保存在資料庫(像Excel的表)裡、這個資料會顯示在網頁。

在這裡解釋,用Rails作的網站上作資料庫的構造的方法
保存資料之前,必須要先作資料庫。在這邊作作看簡單的資料庫。

下面是Facebook的投稿的資料庫的例子

 Facebook的投稿的資料庫的例子

投稿的資料
投稿號碼 投稿者 投稿内容 投稿時間
山田太郎 你好 2016/03/02 16:26

參考Facebook的資料表,在下面的框子裡作作看資料庫的構造跟內容。
內容可以是「商品」「推特」「飯」什麼都可以。
※ 如果沒有想做的資料庫的話,不用打入也沒關係。
 打入看看!

我們用「資料庫的構造」有一點難的單詞,但是咱們要做的事情都差不多是這個設定。
這一次咱們要做的資料庫的設定是,

在網站的資料庫裡設定「資料庫的名字」跟「框子」。
※ 資料的操作是做「內容的新增,編輯,刪除」。

簡單的解釋到這邊,咱們作作看這個資料庫吧!
在這裡,咱們作這個網站的資料庫。


 ② : 作作看資料的構造


在這裡作作看,這個網站的資料庫。

這個網站的資料庫裡有「號碼」「投稿者」「内容」「時間」等等的框子。資料庫的構造就是,由資料庫裡一個一個的框子構成。

 作資料庫的構造可以說是,設定「號碼」「投稿者」「內容」「時間」等等一個一個的框子。
Ruby on Rails 上,先用terminal(命令提示符)作資料庫,之後在這個資料庫上設定一個一個的框子。
先從右上邊的放大鏡找terminal之後,打開看看。(如果是Windows的話,用「Cortana」或者「搜索框」找「命令提示符」)

打開之後移動到myapp吧!


 使用Windows移動的方法請參考這裡


 命令提示符(用半母字母數字打入)
1 2 3 cd Desktop cd rails_project cd myapp

那麽開始作資料庫吧!打入下面的命令。

 terminal(用半母字母數字打入)
 使用Windows的話,請使用「命令提示符」。
1 rails g model post
Terminal rails g model post 有顯示上面圖像一樣的畫面嗎?

用這個命令作,叫做「posts」的資料庫的設定文件。g是「generate」的省略。
用紅線畫的「2016..._create_posts.rb」是作好的設定文件。
編輯這個設定文件,作資料庫的構造。
※ 用Ruby on Rails 作的資料庫全部都用英文,所以名字就用「posts」。其他框子也用英文作。

作資料庫的時候要打入
rails g model 資料庫的名字(單數)
作資料庫。

打入「rails g model 資料庫的名字(單數)」,作好的文件是「作的日子_create_資料庫的名字(複數).rb」。
 那麽,咱們編輯這個設定文件吧。

用「Sublime Text」編輯這個設定文件。從右上邊的放大鏡打開!(Windows的話用「Cortana」或者「搜索框」)

打開之後,用「Sublime Text」打開「myapp」文件夾!
※ 打開文件,文件夾的方法,請參考這裡
 用Windows打開文件,文件夾的方法,請參考這裡


有顯示下面圖像一樣的畫面嗎? Window sublime text myapp 出來之後按照下面圖像,打開文件。 Sublime text migration create post 這個叫做「2016...._create_posts.rb」的文件是作資料庫的設定文件。

 2016..._create_posts.rb
1 2 3 4 5 6 7 8 9 class CreatePosts < ActiveRecord::Migration def change create_table :posts do |t| t.timestamps null: false end end end

用這個文件,作「posts」的名字的資料庫(Excel的表)。
這個「create_table :posts」的部分表示「要作posts的資料庫」的設定。這裡不用自己從頭到尾作,所以簡單的理解就OK!
資料庫的構造在,「create_table :posts do |t|」跟「end」之間設定。

仔細看的話,會看到「create_table :posts do |t|」跟下一次出現的「end」之間有一個設定。

 2016..._create_posts.rb(第5行)
5 t.timestamps null: false

這個一行是設定
  • 資料作的時間(created_at
  • 資料更新的時間(updated_at
的框子。
作這個設定文件的時候,這個設定就自動追加。
不用的話,也可以除掉。

跟這個「timestamps」的設定一樣,咱們作跟下面一樣的投稿的資料庫!

posts
id name content created_at updated_at
192 山田太郎 你好 2016-03-02 16:13:52 2016-03-02 16:13:52
※ 框子的設定只能使用英文的是應為、資料庫裡的框子只能用英文

各個內容是,
  • id 是、投稿號碼
  • name 是、投稿者的名字
  • content 是、投稿内容
  • created_at 是、作投稿的時間
  • updated_at 是、更新投稿的時間

已經解釋過了created_atupdated_at是用t.timestamps null: false追加的框子。
但是其實說這個id」也在作資料庫的時候會自動追加,所以要設定的內容只有「name」跟「content」這個兩個。

咱們作「name」跟「contact」的框子,完成資料庫的構造吧!
設定構造的時候要編輯下面兩個設定。

  • 框字裡放的資料的種類
  • 比如說,數字・短的文章・長的文章・時間等等(用上面的例子的話,timestamps
  • 框字的名字
  • 用英文,不要設定同樣的名字設定(用上面的例子的話,created_at・updated_at

 那麽作作看框字的設定!

 2016..._create_posts.rb(追加第5,6行)
※ 用半母字母數字打入。一起點擊「Command」跟「s」保存內容。
※ 為了看的時候容易看有很多空格,但是不用打怎麼多空格也沒關係。
 使用Windows的話,一起點擊「ctrl」跟「s」保存內容。


1 2 3 4 5 6 7 8 9 10 class CreatePosts < ActiveRecord::Migration def change create_table :posts do |t| t.string :name t.text :content t.timestamps null: false end end end

這個是「name」跟「content」的設定。

  • 資料種類的設定
    • 數字的話,用t.integer
    • 短的文章的話,用t.string
    • 長的文章的話,用t.text
    • 時間的話,用t.timestamps
    設定資料的種類。
    ※ 另外還有,真假的「t.boolean」日子的「t.date」等等。
  • 名字的設定
  • 資料種類的設定的後面,加「:名字」(名字用英文設定)。

這個兩個設定,
t.資料的種類 :名字
像上面這樣子設定。

到這裡設定了
  • 放數字的「id」
  • 放短的文章的「name」
  • 放長的文章的「content」
  • 放時間的「created_at/updated_at」
這個5個「posts」資料庫的框字。
 在資料庫裡設定、放短的文章的「place」的框字的話要怎麼樣設定?(上面放鼠標可以看答案)
※ 不用在設定文件裡追加內容


 2016..._create_posts.rb
答案 t.string :place

到這裡編輯完了的話,把設定文件裡的內容反映到資料庫裡。
打入下面的命令!

 terminal(用半母字母數字打入)
 使用Windows的話,請使用「命令提示符」。
1 rake db:migrate

 不動的話、前面加「bundle exec」,打入「bundle exec rake db:migrate」看看。 Terminal rake db migrate 顯示這樣子的畫面嗎?
這樣,資料庫作好了!
Sequel Pro咱們確認作好的資料庫吧!這個也用右上邊的放大鏡找。


 如果是Windows的話、要使用SqliteBrowser。
 請參考這裡打開「db > development.sqlite3」之後,確認「posts」資料庫裡面的內容。

 確認完了之後,從這裡看下一個內容。


打開後,參考下面的圖像打開! Sequel pro 打開好之後,點擊左邊的「Choose Database」。 Sequel pro choose database 點擊顯示的列表框裡的「myapp_development」。 Sequel pro select myapp 左邊有「posts」嗎?這個是作好的資料庫。打開看看這個吧! Sequel pro myapp development 打開之後有沒有看到第一行呢? Sequel pro myapp development posts Ruby on Rails上、這樣子設定好資料庫了。
 terminal(命令提示符)上打入「rails g model 資料庫的名字」作設定文件。設定文件編輯完了之後,terminal(命令提示符)上打入「rake db:migrate」作資料庫。


 ③ : 編輯資料庫的構造


到這裡、解釋了作資料庫的方法。

但是,剛開始就作好完成的資料庫是有一點難。弄錯設定想追加或者刪除框子的時候要怎麼辦呢?
在這裡,解釋編輯框子的方法。


 ⑴ : 追加框子


作資料庫的時候,剛開始就作好不用修改的資料庫不容易。
作資料庫的時候、常常會後來在追加框子。在這裡解釋這個框子的追加。

剛開始,用terminal移動到「myapp


 使用Windows移動的方法請參考這裡


 terminal
1 2 3 cd Desktop cd rails_project cd myapp

移動完了之後,打入下面的命令。

 terminal(用半母字母數字打入)
 使用Windows的話,請使用「命令提示符」。
1 rails g migration addColumnToPost

顯示像下面的圖像一樣的畫面嗎? Terminal rails g migration add column to post 這是,作編輯構造的設定文件「add_column_to_post」的命令。

所以打入
rails g migration 設定文件名
可以作指定的名字的編輯構造的設定文件
設定文件的名字是什麼樣也可以,但是到了一會去看的時候可以知道意思的名字比較好。
那麽看看這個設定文件吧!
首先用「Sublime Text」打開「myapp」!
※ 打開文件,文件夾的方法請參考這裡
 用Windows打開文件,文件夾的方法請參考這裡


打開之後,按照下面的圖像打開文件。 Sublime text open migration add column to post  2016..._add_column_to_post.rb
1 2 3 4 class AddColumnToPost < ActiveRecord::Migration def change end end

顯示這樣子的文件嗎?
這個文件裡的def change」跟下一個「end」之間追加編輯框子的設定。

框子的編輯有、框子的追加,更改,刪除
首先這裡做做看框子的追加
「rails g migration 設定文件的名字」做的文件的框子的編輯、必須要有三個設定。
  • 要編輯哪一個資料庫
  • 指定要編輯哪一個資料庫。這一次是「posts」。
  • 編輯的框子
  • 要追加的話、設定追加的框子。更改,刪除的話,指定已經有的框子。
  • 編輯的框子上放的資料的種類
  • 這個是跟作框子的時候一樣,有數字,短的文章,長的文章,時間等等。

追加框子的話、
add_column :資料庫的名字, :框子的名字, :資料的種類
這樣子設定。

用已經作好的「posts」的資料庫上追加「place」的例子看看!

posts
id name content created_at updated_at place
山田太郎 晚安! 2016/03/02 16:26 2016/03/02 16:26 臺北

 2016..._add_column_to_post.rb(用半母字母數字打入。追加第3行)
※ 用半母字母數字打入。一起點擊「Command」跟「s」保存內容。
※ 空格不用怎麼多也沒問題。
 使用Windows的話,一起點擊「ctrl」跟「s」保存內容。


1 2 3 4 5 class AddColumnToPost < ActiveRecord::Migration def change add_column :posts, :place, :string end end

這個是,posts的資料庫追加、place的名字的string・短的文章的框子的設定。這樣子的設定可以加幾個也可以。

資料的種類是有一點難,但是如果資料的種類是長的文章的話把string換成text,數字的話把string換成integer
※ 裡面為什麼不知道有「:」,但是這個是資料庫設定文件的方法。請原諒它...

  那麽比如說「posts資料庫裡追加放數字的框子reputation」的話要怎麼樣設定好呢?(上面放鼠標可以看答案)


 2016..._add_column_to_post.rb(第三行)


3 add_column :posts, :reputation, :integer

到這邊解釋了資料庫的追加。在這裡簡單的解釋另外兩個資料庫的更改,刪除

更改,刪除也是跟追加一樣,設定資料庫的名字・框子・資料的種類的三個。
這個是應為是編輯內容的設定,所以跟追加的時候不同,框子跟資料的種類必須要指定。

如果要刪除的話,在設定文件上追加
remove_column :資料庫的名字, :框子的名字, :資料的種類
要更改的話,在設定文件上追加
change_column :資料庫的名字, :框子的名字, :資料的種類
(更改也只能更改資料的種類)
所以從資料庫「posts」想刪除,放「string(短的文章)」的框子「name」的話,要設定

 設定文件
1 remove_column :posts, :name, :string

這樣子的內容。
從資料庫「posts」想把放「string(短的文章)」的框子「name」,改成放「text(長的文章)」的框子的話,要設定

 設定文件
1 change_column :posts, :name, :text

這樣子的內容。
到這裡、解釋了構造設定文件的設定方法。
雖然設定是完成了,但是設定的內容還沒反映
在這裡反映設定文件的內容吧!

設定的反映要用terminal做。首先移動到「myapp」。


 使用Windows移動的方法,請參考這邊


 terminal(用半母字母數字打入)
1 2 3 cd Desktop cd rails_project cd myapp

移動到「myapp」的話,打入下面的命令。

 terminal(用半母字母數字打入)
 使用Windows的話,請使用「命令提示符」。
1 rake db:migrate

 不動的話、前面加「bundle exec」,打入「bundle exec rake db:migrate」

有顯示下面呢圖像一樣的畫面嗎? Terminal rake db migrate2 這樣子框子的編輯完成了!
「Sequel Pro」確認,資料庫有沒有更新!
※ 打開的方法請參考這裡


 使用Windows的話,要用SqliteBrowser。
 參考這裡,打開「db > development.sqlite3」確認「posts」資料庫的內容。


框子裡有沒有追加「place」嗎?

 在terminal(命令提示符)上打入「rails g migration 設定文件的名字」作更改框子的設定文件。設定文件編輯完了之後,terminal(命令提示符)上打入「rake db:migrate」反映設定文件的內容。


 ⑵ : 修正資料構造的設定

用terminal打入rake db:migrate之後,設定文件的內容會反映到資料庫。
可是,用「rake db:migrate」反映錯的設定的話要怎麼辦呢?

比如說,放「text・長的文章」的「content」框子、設定成「string・短的文章」的時候等等

再作一個設定文件、更改內容嗎?
(用「rails g migration 設定文件的名字」作設定文件之後,在設定文件裡設定「change_column :posts, :content, :text」)
當然這樣也可以更改框子的設定、但是還有更簡單的方法。

在Ruby on Rails上,可以取消上一個設定。
使用這個機能,取消後可以再改正錯的內容,再反映內容

在terminal上打入下面的命令,可以返回設定。

 terminal(用半母字母數字打入)
 使用Windows的話,請使用「命令提示符」。
1 rake db:rollback

 不動的話,前面加「bundle exec」、打入「bundle exec rake db:rollback」

打入這個,上一個反映的內容會取消。取消之後,再改修設定文件後,在terminal上打入rake db:migrate可以修改錯的設定。

這個命令只能一個一個的取消。設定錯的時候可以用用看。
 在terminal上用「rake db:rollback」,可以把上一個資料庫的反映取消。

取消之後改設定文件,打入「rake db:migrate」可以改正錯的設定。


 ④ : 總結


利用者發信的資料、會在資料庫裡保存。
作網站的時候、要決定在表裡放什麼資料

這個資料庫構造的設定、要在terminal跟設定文件的編輯做。
 terminal
  • rails g model 文件的名字(單數)
  • 作「日子_create_文件的名字(複數).rb」的資料庫設定文件。

  • rails g migration 文件的名字
  • 作更改資料庫的設定文件。

  • rake db:migrate
  • 把設定文件的內容反映到資料庫。

  • rake db:rollback
  • 取消上一個反映。

 設定文件
  • 作文件的時候的設定

  • 作「資料的種類」的「框子」
    t.資料的種類 :框子的名字
    
    例子 t.integer :age

  • 更改資料庫的時候的設定

  • add_column :資料庫的名字, :框子的名字, :資料的種類
    
    add_column :posts, :name, :string

    更改跟刪除是
    remove_column :資料庫的名字, :框子的名字, :資料的種類
    
    change_column :資料庫的名字, :框子的名字, :資料的種類
    
    這樣子設定。
  • 資料的種類
  • 放在框子裡的資料的種類也要自己設定。
    具體說的話,
    • 「短的文章」的「string」
    • 「長的文章」的「text」
    • 「數字」的「integer」
    • 「時間」的「date」

    等等

 有時間的話、作作看自己想作的網站的資料庫吧!


2 : 保存資料

到這裡我們作了資料庫的構造。在這裡、在資料庫裡保存資料!

 ① : 新增資料


作好了框子,開始保存資料吧!

首先,資料庫裡追加『在新宿山田太郎的「你好!」的投稿』吧!
本來這個資料的保存在網站上作、但是我們還沒學怎麼做網站,在這裡使用terminal新增資料。

事先,用terminal移動到「myapp」吧。


 用Windows移動的方法請參考這裡


 terminal(用半母字母數字打入)
1 2 3 cd Desktop cd rails_project cd myapp

移動好了之後,打入rails c

 terminal(用半母字母數字打入)
 使用Windows的話,請用「命令提示符」。
1 rails c

顯示下面圖像一樣的畫面嗎? Terminal rails c 這個rails c是、Ruby on Rails上,操作網站的資料庫等等...的機能。在這裡用這個機能新增資料。

那麽一次打入看看exitTerminal rails c exit 有沒有回到terminal的打入畫面嗎?
如果想退出「rails c」的話打入「exit
那麽在打入rails c再打開看吧!
咱們用「rails c」,把資料保存在資料庫裡吧。
那麽打入下面的命令。

 terminal(漢語以外用半母字母數字打入)
  Windows的「命令提示符」會出現亂碼、所以全部都用半母字母數字打入
1 Post.create(:name => "名字", :content => "投稿", :place => "地方")

顯示像下面圖像一樣的畫面嗎? Rails c create post 這樣,在資料庫裡保存資料了!

那麽用「Sequel Pro」確認資料庫的內容吧。
※ 打開的方法請參考這裡


 使用Windows的話、要用SqliteBrowser。
 請參考這裡,打開「db > development.sqlite3」確認「posts」資料庫的裡面。


像下面的圖像,資料有追加了嗎? Sequel pro posts data1
資料的新增要打入。
資料庫的名字.create(:框子 => "内容", :框子 => "内容", ...)
(資料庫的名字要用第一字是大寫的單數)

1 Post.create(:name => "山田太郎", :content => "你好!", :place => "新宿")

打入的命令中沒有「id」跟「時間」的是,應為這一些會自動追加

下面有兩個問題,想想看吧!
 那麽,『湘南花子在台北投稿的「到台北了」的投稿』要怎麼做呢?
(上面放鼠標可以看答案)



1 Post.create(:name => "湘南花子", :content => "到台北了", :place => "台北")

 如果有下面構造的資料庫的話、『藤沢太郎的「到六本木」的推特』要怎麼做呢?
(上面放鼠標可以看答案)


tweets
id user content created_at updated_at


1 Tweet.create(:user => "藤沢太郎", :content => "到六本木")

 資料的新增要打入「資料庫的名字.create(:框子=>"内容", :框子=>"内容", :框子=>"内容")
※ 資料庫的名字要用第一字是大寫的單數。


 ② : 編輯資料


到這裡解釋新增資料的方法。但是資料的新增以外還有兩個資料保存的方法。那個是資料的編輯跟刪除

在這裡做做看資料的編輯吧。用新增的資料,編輯資料的內容吧。

作資料的編輯跟刪除的話,首先要選擇更改的資料
資料的編輯之前,說明這個資料的選擇。
資料的選擇有兩種。
  • 用id選擇資料的方法(find
  • 用框子的內容搜索資料的方法(where
這個兩個。

 先做做看第一種方法・用id選擇資料的方法

事先打入rails c之後,打入下面的命令。

 terminal(用半母字母數字打入)
 使用Windows的話,用「命令提示符」。
1 Post.find(1)

顯示像下面的圖像一樣的資料嗎? Rails c post find 1 這一次的打入「Post.find(1)」是,「從posts選擇id是1的資料」的命令。

用id選擇資料的方法是、要打入
資料庫的名字.find(數字)
(資料的名字要用第一字是大寫的單數。)
 接着看看第二個方法・用id以外的框子搜索選擇資料的方法

rails c打入下面的內容。

 terminal(漢語以外用半母字母數字打入)
  Windows的「命令提示符」的話會出現亂碼、所以全部都用半母字母數字打入
1 Post.where(:name => "山田太郎")

顯示像下面的圖像一樣的畫面嗎? Rails c post where name 這一次的命令「Post.where(:name => "山田太郎")」是,「選擇name的框子是山田太郎的資料」的命令。

用id以外搜索的話,要打入
資料庫的名字.where(:框子 => "内容", ...)
(資料庫的名字要用第一字是大寫的単数)

所以搜索「名字是湘南花子・地方是藤沢」的資料的話,要打入

1 Post.where(:name => "湘南花子", :place => "藤沢")

到這裡選擇資料了,下次做做看內容的編輯吧!

內容的編輯要打入
用find選擇的資料.update(:框子 => "内容", ...)
※ 用where的編輯等一下會再說明。

打入下面的內容吧!

 terminal(漢文以外用半母字母數字打入)
  Windows的「命令提示符」的話會出現亂碼、所以全部都用半母字母數字打入
1 Post.find(1).update(:content => "晚安")

Rails c post find 1 update 打入完了之後用Sequel Pro打開資料庫,看看資料庫的內容有沒有變化。

※ 用Sequel Pro打開資料庫的方法請參考這裡


 使用Windows的話,要用SqliteBrowser。
 參考這裡打開「db > development.sqlite3」,確認「posts」資料庫的內容。


 如果Sequel Pro的內容沒變的話,必須要更新Sequel Pro的內容。內容的更新,請參考下面的圖像。 Sequel pro update content的部分有沒有更新成「晚安」嗎?

那麽改改看的資料吧!

 再更新剛才的資料的「content」。現在的裡面的內容「晚安」,改成「你好」吧。(上面放鼠標可以看答案)


1 Post.find(1).update(:content => "你好")

 用剛才的資料,「name」的框子改成「楊先生」吧!(上面放鼠標可以看答案)


1 Post.find(1).update(:name => "楊先生")

 用剛才的資料,「place」的框子改成「高雄」,「content」的框子改成「吃飯」吧!(上面放鼠標可以看答案)


1 Post.find(1).update(:place => "高雄", :content => "吃飯")

最後,用Sequel Pro確認內容有沒有改變!
※ 使用Sequel Pro的方法請參考這裡


 使用Windows的話,參考這裡打開「db > development.sqlite3」之後,確認「posts」資料庫的內容。


不要忘記Sequel Pro資料庫的更新

 資料的更新要打入「資料庫的名字.find(id的號碼).update(:框子 => "内容")
※ 資料庫的名字要用第一字是大寫的單數。


 ③ : 刪除資料


資料的編輯好了,接着做資料的刪除吧!
首先打入rails c吧。
 先複習上一個內容吧。作作看『你在硅谷投稿的「我生病了」的投稿』吧!
(上面放鼠標可以看答案)

 漢文會亂碼、所以使用Windows的話,請使用半母字母數字打入自己喜歡的內容。


1 Post.create(:name => "你個名字", :content => "我生病了", :place => "硅谷")

那麽刪除這個「我生病了」的資料吧!

資料的刪除也跟編輯一樣、用find」選擇資料後刪除資料。
那麽,先查查看這個資料的號碼吧。
打入下面的命令。

 terminal(用半母字母數字打入)
 使用Windows的話,請用「命令提示符」。
1 Post.all

有沒有顯示下面圖像一樣的畫面嗎?
裡面有沒有「我生病了」的資料嗎? Rails c post all 這個打入在做顯示posts資料庫裡全部的資料

資料庫的名字.all
顯示資料庫裡保存的全部的資料。
※ 資料庫的名字要用第一字是大寫的單數

不用這個命令,使用Sequel Pro也可以確認資料庫的內容。
 使用Windows的話,請用SqliteBrowser
確認好資料了的話,開始刪除吧!
跟資料的編輯一樣資料的刪除也從資料的選擇開始。

 咱們做複習吧。選擇新增的「我生病了」的資料吧。


1 Post.find(3)

資料的刪除要打入
選擇的資料.destroy
做。
那麽做做看吧。

 terminal(用半母字母數字打入)
 ※ 數字的地方指定,自己想刪除的資料號碼。
  使用Windows的話,請用「命令提示符」。
1 Post.find(3).destroy

有顯示下面圖像一樣的畫面嗎? Rails c post find 3 destroy 做好了之後,用Sequel Pro確認內容吧。
 用Windows的話、請使用SqliteBrowser

新增的資料有沒有刪除了嗎?

 那麽「刪除id是5的資料」的話要怎麼打入呢?


1 Post.find(5).destroy

 完成之後,請打入exit。這樣可以關rails c

 資料的刪除用「資料庫的名字.find(id的號碼).destroy」做
※ 資料庫的名字要用第一字是大寫的單數。


 ④ : 總結


資料保存等等的操作,要用「rails c」的命令做。
※ 在這裡學的命令下章會用、記得一下。
操作資料的方法有,資料的新增・編輯・刪除這個三種。

  • 資料的新增

  • 資料庫的名字.create(:框子 => "内容", :框子 => "内容", ...)
    
    ※ 資料庫的名字要用第一字是大寫的單數
    例子:新增「name」是「山田太郎」,「content」是「你好」的資料
    1 Post.create(:name => "山田太郎", :content => "你好")

  • 資料的選擇

  • 資料庫的名字.find(要編輯的資料的id號碼)
    
    ※ 資料庫的名字要用第一字是大寫的單數
    例子:選擇「id」是「2018」的資料
    1 Post.find(2018)

  • 資料的編輯

  • 資料庫的名字.find(要編輯的資料的id).update(:框子 => "内容", :框子 => "内容", ...)
    
    ※ 資料庫的名字要用第一字是大寫的單數
    例子:編輯「id」是「29」的資料,「content」改成「晚安」・「place」改成「嘉義」。
    1 Post.find(29).(:content => "晚安", :place => "嘉義")

  • 資料的編輯

  • 資料庫的名字.find(要編輯的資料的id號碼).destroy
    
    ※ 資料庫的名字要用第一字是大寫的單數
    例:刪除「id」是「1900」的資料
    1 Post.find(1900).destroy

  • 選擇全部的資料

  • 資料庫的名字.all
    
    ※ 資料庫的名字要用第一字是大寫的單數
    例:選擇全部的資料
    1 Post.all

 網站上,也用這些資料的操作保存資料。
在下一章,在網頁上設定這一些資料的保存。


3 : 總結

網站在,保存利用者發信的資料到資料庫裡,之後顯示這些保存的資料。

所以要做網站的話,先作資料庫之後,在保存資料。
框子的詳細的設定參考這裡
內容的操作參考這裡
 到這裡,關於資料的保存的內容大概做完了。
   下章,咱們顯示網頁!

  設定的內容從這裡看