例如,
staff = Staff.where(:id => 6).first
prize = Prize.where(:id => 3).first
staff.prizes.push(prize)
如何重置上述员工与奖品之间的关系?
class Staff
include Mongoid::Document
has_many :prizes
class Prize
include Mongoid::Document
belongs_to :staff
答案 0 :(得分:0)
在Rails中,带有belongs_to
语句的模型包含foreign key。也就是说,您的Prize
数据库表具有staff_id
列。此列存储Staff
模型的ID。
清除此关联的一种方法是将奖品的员工设置为nil
:
prize.staff = nil
prize.save
您也可以使用ActiveRecord's update
method一步完成此操作:
prize.update(staff: nil)
或者,您可以使用the delete
method删除prize
:
staff.prizes.delete(prize)