我有habtm关系(作业< assignments_candidates>候选人)
我希望能够从作业中删除一名候选人。 这是我到目前为止的代码
@assignment = Assignment.find(:first,
:joins => :candidates,
:select => "assignments_candidates.*",
:conditions => ["assignments_candidates.candidate_id = ? AND assignments_candidates.assignment_id = ?",
params[:candidate_id], params[:assignment_id]]
)
@assignment.destroy
目前,我认为这样做会破坏对象而不是交集表中的记录
任何想法?
谢谢,Alex
答案 0 :(得分:13)
以下是我如何做以备将来参考。
assignment = Assignment.find(params[:assignment_id])
candidate = assignment.candidates.find(params[:candidate_ids])
assignment.candidates.delete(candidate)
答案 1 :(得分:-1)
您是否在相关模型的:dependent => :destroy
(或has_many
)关系中添加了has_and_belongs_to_many
限定符?