爲什麼不在連接模型本身中包含確認狀態?因此,讓我們假設您有一個用戶,一個組模型,並且它們由一個成員資格模型加入。添加一個格式爲DateTime的屬性「accepted_on」給Membership模型(如果你不關心它們是否被接受,那麼只是一個布爾值)。然後創建一個視圖,列出所有隻有管理員才能看到的鏈接只有他們可以訪問將「accepted_on」屬性設置爲Time.current
的訪問權限。
在用戶/組模型然後你可以做到以下幾點:
class User < ActiveRecord::Base
has_many :memberships, :conditions => 'accepted_on IS NOT NULL'
has_many :groups, :through => :memberships
end
class Group < ActiveRecord::Base
has_many :memberships, :conditions => 'accepted_on IS NOT NULL'
has_many :users, :through => :memberships
end
class Membership < ActiveRecord::Base
belongs_to :user
belongs_to :group
end
這樣,當一個新的用戶添加的成員不會成爲可用,直到管理員已經接受了他(即,由accepted_on除零以外的任何內容)。