關連:一對多
這裡舉的例子是每家飲料店可以賣很多及不同的飲料。
第一步,我們先建立 Model:
Model 名稱 Drink。
各別使用 Rails 的 Model 產生器來產生 Drink,請在終端機輸入:rails g Model Drink name description:text price:decimal drink_store_id:integer
最後別忘記執行 rails db:migrate
第二步,在 Drink Model 加上 has_many 設定「一對多」關連:
在 DrinkStore & Drink,分別加上 has_many
與 belongs_to
語法。
# 檔案:app/models/drink_store.rb
class DrinkStore < ApplicationRecord
belongs_to :user
has_many :drinks
end
# 檔案:app/models/drink.rb
class Drink < ApplicationRecord
belongs_to :drink_store
end
這時候以 Drink 的角度來看,設定 has_many :drinks 就會有以下方法可以用:
使用 has_many 語法時,後面的單字一定要加上複數嗎 !?
這跟 Rails 的慣例有關,我個人就會記成,因為是使用 many 這個單字,代表很多的意思,因此後面的單字,就加上複數這樣。