Ruby on rails 如何有效地删除多个关联? 脚本:

Ruby on rails 如何有效地删除多个关联? 脚本:,ruby-on-rails,postgresql,ruby-on-rails-4,Ruby On Rails,Postgresql,Ruby On Rails 4,现在,有时候我不得不这么做 @user.photos.map(&:destroy) 这将加载N+1查询。是否有任何方法可以使此可扩展,以便在1-2查询中删除 我使用的是rails4.0.0和postgres(PostgreSQL)9.3.2如果您定义了,则删除父行时会自动删除所有依赖的行。那么您只需要一个命令 DELETE FROM users WHERE user_id = $user_id; 要删除所有照片并保留用户,请执行以下操作: DELETE FROM photos WH

现在,有时候我不得不这么做

@user.photos.map(&:destroy) 
这将加载
N+1
查询。是否有任何方法可以使此可扩展,以便在
1-2
查询中删除

我使用的是
rails4.0.0
postgres(PostgreSQL)9.3.2

如果您定义了,则删除父行时会自动删除所有依赖的行。那么您只需要一个命令

DELETE FROM users WHERE user_id = $user_id;
要删除所有照片并保留用户,请执行以下操作:

DELETE FROM photos WHERE user_id = $user_id;

谢谢但是我不想删除
用户
记录
@user.photos.map(&:destroy)
表示
删除用户的所有照片行
,但
不删除用户
。当用户想要删除所有这些照片而不是整个个人资料时,就会出现这种情况
DELETE FROM photos WHERE user_id = $user_id;