Re: [問題] Rails中AR Associations的單複數問題

看板Ruby作者 (好2ˇ)時間13年前 (2011/08/01 03:41), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/6 (看更多)
※ 引述《tonytonyjan (南洋大兜蟲)》之銘言: : 環境: : Rails ~> 3.0.0 : 狀況: : 在閱讀文章、書籍的時候,看到每個人都說 : has_one, belongs_to後面要放單數的association_id : has_many, has_and_belongs_to_many及:through後面要放複數 : 但是皆知其然不知其所以然 : 那些association_id的域名來自哪裡? : 是DB中已存在的table name嗎?還是已存在的model name呢? 這幾個association方法都有參數是 :foreign_key 和 :class_name 這兩個值通常不需要設定, 因為rails會依照慣例幫你設定 belongs_to :user 等同於 belongs_to :user, :foreign_key => :user_id, :class_name => "User" 至於DB的table叫啥,依照慣例則是Model名字的複數: class UserJob < ActiveRecord::Base end 等同於 class UserJob < ActiveRecord::Base set_table_name :user_jobs set_primary_key :id end 因此, 如果你通通依照rails慣例, 你就不需要寫 set_table_name, set_primary_key, :foreign_key, :class_name....這些參數了, 這就叫 慣例勝於設定(Convention Over Configuration)原則 : 我如果故意單數寫複數,複數寫單數,仍可以運作嗎? no, 除非你手動指定 :foreign_key 和 :class_name 等 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.240.174.138 ※ 編輯: ihower 來自: 111.240.174.138 (08/01 03:44)

08/01 08:19, , 1F
推詳細~
08/01 08:19, 1F

08/02 12:24, , 2F
感謝指點!真的非常的詳細!m(_ _)m
08/02 12:24, 2F
文章代碼(AID): #1EDQ_-2q (Ruby)
討論串 (同標題文章)
文章代碼(AID): #1EDQ_-2q (Ruby)