0
我正在使用設計,但用戶模型與舊錶相關,因此完美地工作。執行has_one關聯
現在我想實現重置密碼的能力,並強制執行新字段(reset_password_token
和reset_password_token_at
),這是我無法在原始表上創建的。
我決定用舊的delegate
與has_one
關係。下面是我所做的:
class User < LegacyDatabase
set_table_name 'T_CLIENTS'
devise :database_authenticatable, :authentication_keys => [:email]
devise :recoverable
has_one :user_setting
delegate :reset_password_token, :to => :user_setting
delegate :reset_password_sent_at, :to => :user_setting
# (...)
end
我現在的問題是,我需要強制執行,所有用戶必須創建UserSetting當我需要訪問新的領域。
如果我是親自動手做的,我可以做UserSetting.find_or_create_by_user_id(...),但在走下那條路之前,我想知道rails是否提供了一種方法來實現這一點,而不會回退到手動代碼。
永遠孤單... :) – kolrie