пользователь может принадлежать к нескольким группам.
пользователь может сделать обзор каждой группы.
пользователи были удалены из групп без удаления отзывов. это вызывает ошибки.
когда пользователь входит в систему, я хочу удалить отзывы пользователей для групп, к которым они больше не принадлежат.
вот код, который не работает:
@user = session[:user]
@group = session[:group]
@urevs = UserReview.find(:all, :conditions => ["user_id = ?", @user.id])
unless @urevs.nil?
@urevs.each do |r|
ur = @urevs.id
@rv = Review.find(:first, :conditions => ["id = ?", @urevs.review_id])
@gm = GroupMember.find(:first, :conditions => ["group_id = ? and user_id = ?", @rv.group_id, @user.id])
if @gm.nil?
@dest = UserReview.find(:first, :conditions => ["id = ?", ur])
@dest.destroy
end
end
end
Я бы предпочел не выполнять запрос mysql для удаления всех таких экземпляров.
Спасибо.