Rails_Model_關聯性:一對多

ck100pro
ck100pro
Published in
3 min readNov 21, 2019

接下來我要再建立一個叫做Product的Model,將所需要的欄位確認好之後建立,並打開rails專案確認欄位的資訊有沒有有問題。

建立新的Model

資料表確認好了之後要執行rails db:migrate。

rails db:migrate完之後,我們要到Model裡面進行連結

store有多個product
每個product都有相對應的store

我們先指定一間商店。

再來我們new出2件產品,

建立2件商品

接下來我們用products這個方法把這2件商品賦予給store1,這邊要注意的是我們的user已經是儲存到資料表內的資料,所以當我們用products之後會直接這2件商品直接寫進資料庫。

我們在用Product的Model來撈出所有資料

剛剛存進去的2項產品

接下來我們可以直接用商店的角度建立商品,用build的方法記得要再用save的方法寫入資料表。

不想用build的方法可以用create的方法,這樣就不用save了。

直接用crete的方法進行儲存資料

我們也可以先new出一個產品,再把商店賦予給他,記得要save儲存資料。

結論:

  1. has_many會幫我們做出四種方法,以這邊文章的Model為例,Store是has_many到Product,所以會產生以下4種方法,produsts、produsts=、build、create,用法基本上和has_one的四種用法差不多

下一篇會開始用多對多的Model應用~~~

--

--