0
ユーザーは複数のグループに所属している可能性があります。
ユーザーは各グループのレビューを行うことができます。
ユーザーはレビューを削除せずにグループから削除されました。これによりエラーが発生します。
ユーザーがログインしたときに、もはや属していないグループのユーザーレビューを削除します。私のsessions_controllerのデータ管理コードに問題があります
@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のクエリを実行しないことを好むだろう。ここで が動作していないコードです。
ありがとうございました。この部分は、より便利な方法@user.groups.map(&:id)
により、あなたはこのような方法を持っている場合
GroupMember.where(:user_id => @user.id).all.map(&:group_id)
を交換することができ