2

我有一个连接表,连接 2 个表。它有 2 列:user_id 和 course_id。表的名称是:course_sub_managers。此表没有索引。那么,如何删除满足 course_id = 某个变量条件的所有行?至于现在我使用:

sql = "DELETE FROM course_sub_managers WHERE course_id = " + @course.id.to_s
ActiveRecord::Base.connection.execute(sql)

有 Rails 的写法吗?

4

2 回答 2

1

我怀疑您有一个课程模型,其中您编写了以下内容:

has_many :course_sub_managers
has_many :users, through => :course_sub_managers

在这种情况下,您可以使用:

@course.course_sub_managers.delete_all
于 2012-10-15T12:59:09.887 回答
0

听起来您只想处理课程的删除?使用 :dependent => :destroy 来处理你的关系。

has_many :course_sub_managers, :dependent => :destroy

当您销毁课程时,它将自动删除相关的表格项目。

于 2012-10-15T13:20:29.413 回答