ユーザーコントローラーでこのdestroyメソッドを実行すると、次のエラーが発生します。
AbstractController :: DoubleRenderError(このアクションでは、Renderまたはredirectが複数回呼び出されました。renderまたはredirectを呼び出すことができるのは、アクションごとに最大1回だけであることに注意してください。また、redirectもrenderも、アクションの実行を終了しないことに注意してください。リダイレクト後にアクションを終了する場合は、「redirect_to(...)andreturn」のような操作を行う必要があります。):
私は正直に電話に一度だけ応答しているので、それは奇妙なものです。
これが私の行動です:
def destroy
user = User.find(params[:id])
if user.has_role_for? current_client
# then we remove the role
user.has_no_roles_for! current_client
# was that the users only role?
if user.roles.count == 0
user.destroy
end
respond_with head :ok
else
respond_with({:error=>'unauthorised'}, :status => :forbidden)
end
end
何か案は?