在過去的2個小時裏,我對這個問題感到滿意。我有這兩個多態鏈接的類。醫生在醫生中有東西,用戶處理Web組件(電子郵件地址,設計等)。醫生是用戶。如何在兩側實例化具有多態關聯/驗證的Rails模型?
原因是有不同的用戶類別(護士,MedicalInstitutions),都需要他們自己的領域,但通過它們是用戶這一事實鏈接在一起。所以我在這種情況下選擇了多態關聯。
的問題是,我似乎無法實例兩者,因爲兩者都不會被保存。假設一個空的數據庫,我究竟如何創建它們,因爲它們需要彼此?有沒有辦法同時「保存兩個」?
class User < ActiveRecord::Base
rolify
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
validates_presence_of :profile
belongs_to :profile, polymorphic: true
end
class Doctor < ActiveRecord::Base
has_one :user, as: :profile, dependent: :destroy
accepts_nested_attributes_for :user
validates_presence_of :user
# doctor-specific code here
delegate :email, :password, to: :user
end
class Nurse < ActiveRecord::Base
# has_one, accepts... same as doctor. nurse-specific code here
end
我也很感謝它,如果有人可以解決如何在FactoryGirl中實例化。
另:我見過this,但他們沒有驗證雙方。
不完全清楚你的設置在這裏 - 試圖要求q的澄清。因此,醫生是一個用戶 - 那麼就醫生而言,它是一個護士還是醫療機構,就其代碼而言?這就是你的意思是不同的用戶類別? –
@RichardJordan謝謝你的回答。是的,他們是一樣的。他們有自己的專門領域。 –
@DaryllSantos所以基本上每個人都是一個用戶。唯一不同的是,他們有不同的配置文件(醫生/護士/等)? –