2014-03-03 73 views
0

我想有一個has_one的關係,但具有has_one屬性的模型上的引用id列。Rails has_one ID問題

我在我的項目中有一個Guest模型,它應該與User有一對一的關係。請不要告訴我使用角色,Guest類具有我需要的更多功能。

所以我需要的是有:

class Guest < ActiveRecord::Base 
    has_one :user, :dependent => :delete 

我想有user_idGuest模型 - 是沒有意義的有guest_idUser模式,因爲有不屬於客人的其他用戶。

回答

2

我認爲,塔哈的答案看起來不錯。如果你想避免添加列的用戶,你可以說,他提到的反向關聯:

class User < ActiveRecord::Base 
    has_one :guest, :dependent => :destroy 


class Guest < ActiveRecord::Base 
    belongs_to :user 

也見第2.1位置:http://guides.rubyonrails.org/association_basics.html

1

我們可以實現在兩種方式一對一關聯,試試這個

class User < ActiveRecord::Base 
    belongs_to :guest, :dependent => :destroy 


class Guest < ActiveRecord::Base 
    has_one :user 
+0

我寧願不要碰User'的'代碼,因爲它是不僅與'客人'有關。 – guyaloni