为当前在数据库中的每个用户创建模型和实例

时间:2016-04-08 00:05:15

标签: ruby-on-rails mongoid

我在我的Rails应用程序中使用Mongoid作为数据库。我已经有了这个用户模型一段时间,现在我刚刚创建了一个新的Preference模型,其中User has_one首选项和Preference belongs_to用户。如何为数据库中的每个现有用户创建一个Preference实例?

解决方案:

我只是去了Rails控制台并运行了以下内容:

for user in User
    unless Preference.find_by(user_id: user.id)
        p = Preference.new(id: user.id, user_id: user_id)
        p.save
    end
end

从未想象过这可能很容易:)

1 个答案:

答案 0 :(得分:1)

它将为每个创建的用户创建before_create :set_preference def set_preference build_preference(id: self.id, user_id: self.id, email: self.email) end ,并且用户的ID将与首选项相同!

User.rb

custom