私は持っている
def destroy
Event.find(params[:id]).destroy
flash[:info] = "Event deleted"
redirect_to :back
end
また、2 つの異なるビューからアイテムを削除できます。1 つのビューではアイテムのリストなので:back
、同じページを使用してリロードできます。しかし、他の削除は削除するアイテムのビュー上にあるため、それがなくなったらredirect_to
別の場所に移動したいと考えています。
私の質問は、メソッドがどこから来ているかredirect_to
に応じて、Rails に別のパスを伝えるにはどうすればよいかということです。destroy
試しに、htmlのbodyクラスを元にif文を使ってみたのですが、インスタンス変数がdestroyメソッドに持ち込まれていない(だと思います)がうまくいきませんでした。例えば
def destroy
if @body_class == 'one page'
Event.find(params[:id]).destroy
flash[:info] = "Event deleted"
redirect_to :back
elsif @body_class == 'a different page'
Event.find(params[:id]).destroy
flash[:info] = "Event deleted"
redirect_to root_path
end
end