Rails - 删除交集表中的单个记录habtm

Ale*_*lex 4 ruby-on-rails has-and-belongs-to-many

我有一个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
Run Code Online (Sandbox Code Playgroud)

目前,我认为这样做会破坏对象而不是交集表中的记录

有任何想法吗 ?

谢谢,亚历克斯

Ale*_*lex 13

这是我如何做以备将来参考.

  assignment = Assignment.find(params[:assignment_id])
  candidate = assignment.candidates.find(params[:candidate_ids])
  assignment.candidates.delete(candidate)
Run Code Online (Sandbox Code Playgroud)