【问题标题】:RoR Devise create userRoR 设计创建用户
【发布时间】:2012-04-30 17:26:59
【问题描述】:

我有 2 个表:联系人和用户(设计)。 我想在每次创建联系人时创建一个用户。 联系人belongs_to :user 用户 has_one :contact

contact.rb 文件中的以下代码在您添加新联系人时创建用户:

before_create :create_user

protected
def create_user
  self.user = User.new({ :email => self.email, :password => '123456' })
  return user.save
end

但是,联系人字段 user_id(外键)没有更新为新的用户 ID。 如何做到这一点?

谢谢!

【问题讨论】:

    标签: ruby-on-rails devise


    【解决方案1】:

    试试这个

    def create_user
      self.user = User.create({ :email => self.email, :password => '123456' })
    end
    

    我的猜测是关联没有被注册,因为在User.new调用之后对象还没有被保存到数据库并且没有被分配一个id属性,而id属性是记录关联所需要的. User.create 初始化对象并一步将其保存到数据库中(假设所有验证通过)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-30
      • 2017-04-12
      • 2012-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多