簡體   English   中英

Rails中的Belongs_to和備份Emirates_to

[英]Belongs_to and backup belongs_to in Rails

這個問題來自分解一個太大的問題。

UsersEvents創建為NetworkRole 然后, Events既連接到Role (雇用或解雇不同Users也可以占據該Role ),也連接到Event 具有管理Roles Users可以訪問所有Events而與創建EventRole無關。

Role可能會被破壞,但是只要Network存在, Event就將持續。 (就像職位被刪除一樣,但他們仍然希望獲得退休職位的數據。)

那么, Event可以分別belongs_to一個Role和一個Network嗎? 那是不好的護欄設計嗎? 還有另一種方法嗎? 我是否將具有特殊的“退休”角色並將事件始終與Role綁定,然后使用belongs_to :network, :through => :role

Network.rb

class Network < ActiveRecord::Base
  has_many :roles
  has_many :users, :through => :roles
  has_many :events
end

Role.rb

class Role < ActiveRecord::Base
  belongs_to :user
  belongs_to :network
end

Event.rb-是嗎?

class Event < ActiveRecord::Base
  belongs_to :role  
  belongs to :network
end

在我看來,與您的關聯(屬於Role和Network的事件)的設計並不是一件壞事。 而且我認為擁有“退休角色”比擁有NULL更令人困惑。 但是也許您應該考慮在角色上具有列status ,而不是刪除它。 如果狀態不是例如1 (例如1 =正常,2 =無效),則不能再使用,因為它已被刪除。

當您不了解全部情況時,很難給出建議,但是,正如我所說,我認為,不必為了改變關聯而需要“退休”的角色。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM