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;