我想創建一個擴展ActiveRecord :: Base的模型'Relation',將其表名設置爲'questions_tags',並且沒有主鍵。我該怎麼辦?如何在沒有主鍵的情況下創建模型
class Relation < ActiveRecord::Base
set_table_name 'questions_tags' # set table name, right?
# how to define 'no-pk'?
end
UPDATE
嗨,夥計們。我知道使用'create_table'可以解決這個問題,但這正是我想知道的:create_table(:id=>false)
背後的魔法是什麼?如何在不使用create_table(:id=>false)
的情況下獲得相同的效果?
據我沒有魔法。 'create_table'有一個額外的選項,不管是否必須創建'id'-列。就這樣。當你要求「魔法」時:你的意思是代碼,生成的sql語句,還是別的......? – nathanvda 2010-06-21 13:07:53
如果你想知道幕後發生了什麼,我會建議在Rails API文檔中挖掘depper: http://api.rubyonrails.org/classes/ActiveRecord/Base.html, http:// api .rubyonrails.org/classes/ActiveRecord/Migration.html, http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html – auralbee 2010-06-21 13:27:51
@ nathanvda,auralbee:謝謝你們倆。我剛接觸rails,也許我需要閱讀更多關於ActiveRecord的文章。 – Freewind 2010-06-22 03:18:47