我有两张桌子用户(设备)和电话
我希望当用户注册时抛出与devise的注册,用户id和电话类型被加载到phones表中
但我不知道怎么做我已将用户与
用户.rb

has_many :phones

电话.rb
belongs_to :user

数据库(架构)
 t.index ["user_id"], name: "index_phones_on_user_id"

任何帮助都将不胜感激

最佳答案

您可以在after_create模型上运行User回调

after_create :assign_phone

private

def assign_phone
  phone = phones.new
  # assign required values
  phone.save
end

如注释中所述,phone.save将在出现错误时自动返回false,使用!(bang)将引发并出错另一个解决方案正在检查它是否已保存,然后执行所需的任务。。
def assign_phone
  phone = phones.new
  # assign required values
  if phone.save
    #on successfull save
  else
    #on failure
  end
end

关于ruby-on-rails - 创建后Rails将数据添加到表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44301485/

10-13 04:51