正在使用的相關項目:Rails 3.2,Mongoid和Devise。無法從Rails中的關聯模型中獲取價值
我有以下兩種模式:
class User
include Mongoid::Document
include Mongoid::Timestamps
has_one :profile, autosave: true, dependent: :delete
field :account_level
end
class Profile
include Mongoid::Document
include Mongoid::Timestamps
belongs_to :user
field :display_position
end
我的應用程序設置等人被自動重定向到創建一個新的配置文件的帳戶(用戶)的成功註冊。 account_level
是基於應用程序中的其他邏輯自動定義的。
我想根據用戶模型的account_level
自動填充值display_position
。
我試過各種方式讓這個工作,但我似乎想通了。
實現此目的的最佳方式是什麼?
使用'before_save'或'before_create'過濾器上你的模型。 –
我已經完成了這項工作,但該協會尚未創建。當我嘗試運行'self.position_order = profile.user.account_level'時,它會引發錯誤,因爲用戶關聯尚未使用配置文件創建。 – sevens
然後嘗試'after_save'或'after_create'過濾器。 –