之間說在Rails 4應用程序,我有以下幾點:如何使用設計的寶石在一個Rails應用程序在「用戶」被分成了三個模型
class Person < ActiveRecord::Base
has_many :email_addresses, as: :emailable
has_one :user_account
end
class EmailAddress < ActiveRecord::Base
belongs_to :emailable, polymorphic: true
# There is an :address column
end
class UserAccount < ActiveRecord::Base
belongs_to :person
end
一個人可以擁有多個電子郵件地址。一個人也可以有一個用戶帳戶。 (我已經將它移入它自己的模型中,因爲不是所有的人都會成爲用戶。)登錄時,任何人的電子郵件地址都可以用作「用戶名」。
鑑於此,我想使用設計寶石。我看到您可以指定應用身份驗證的模型。 User
被廣泛使用,但我會使用UserAccount
。然而,設計然後期望電子郵件(用戶名)字段在這個模型。
當一個人註冊一個用戶帳戶時,實際上會創建三個關聯記錄(Person,EmailAddress和UserAccount)。我無法弄清楚如何讓Devise使用這個設置。有任何想法嗎?謝謝你的幫助。