ActiveRecord:删除相关记录

6 activerecord ruby-on-rails

我得不到的东西......

我的模型中有这个:

class Model < ActiveRecord::Base
    has_many :model_options # a link table for many to many
    has_many :options, 
             :through => :model_options, 
             :dependent => :destroy, 
             :foreign_key => 'model_id'
end
Run Code Online (Sandbox Code Playgroud)

我试着这样做:

model = Model.find(id)
model.options.delete # also tried model.options.delete_all
Run Code Online (Sandbox Code Playgroud)

但这并不是从数据库中删除记录.相反,我必须这样做:

model.options.each do |option|
   option.delete
end
Run Code Online (Sandbox Code Playgroud)

......这不是最好的方式.
请问最好的方法是什么?