說我有一個現有的Rails 3應用程序的兩款車型,我想創建一個協會:修改模型以創建關聯,執行此操作的正確方法是什麼?
我想創建一個協會,這樣我可以做的:
User.account_type
AccountType.users
所以一用戶只有一個帳戶類型,而帳戶類型有0個或多個用戶。
在db級別,用戶將擁有account_type_id,並且AccountType表不會有用戶的任何關聯列。
所以我的第一步是寫一個測試權嗎?因此,在我的user_spec.rb和account_type_spec.rb中,我應該創建一個簡單的測試,以查看它是否具有代理類.account_type account_type.users是否存在?還要別的嗎?
修改User.rb模型並添加belongs_to:AccountType,並在AccountType.rb中添加has_many的權利?
創建遷移腳本,我只是添加account_type_id還是使用特殊的方式來引用AccountType?
IMO測試,看是否存在的方法是單元測試Rails本身。如果您尚未添加關聯,那麼使用由關聯添加的方法的測試將失敗。 – 2012-03-18 14:57:44
1-看起來正確2-是的,你是正確的3-是隻是添加account_type_id – nateleavitt 2012-03-26 20:03:51
我在這裏有點困惑。你想要的東西像:'AccountType.users'或'account_type.users'?因爲,你說你建立了一個'AccountType' **對象的關聯**,所以'User'模型有很多**用戶**,那麼你需要''users'表中的'account_type_id'列。如果你想實現類似於'AccountType.users'的操作,你必須編寫'AccountType'模型的'用戶'方法。你確定你想要的關係嗎?檢查此鏈接以更好地理解rails中的關聯:http://guides.rubyonrails.org/association_basics.html – Surya 2012-04-02 05:26:42