diff --git a/app/controllers/categories_controller.rb b/app/controllers/categories_controller.rb index 3c03969e..99bb2827 100644 --- a/app/controllers/categories_controller.rb +++ b/app/controllers/categories_controller.rb @@ -24,12 +24,13 @@ class CategoriesController < ApplicationController redirect_target_url = request.referer || categories_path respond_to do |format| - format.html { redirect_back_or_to categories_path, notice: t(".success") } format.turbo_stream { render turbo_stream: turbo_stream.action(:redirect, redirect_target_url) } end else set_categories - render :new, status: :unprocessable_entity + respond_to do |format| + format.turbo_stream { render turbo_stream: turbo_stream.replace("form", partial: "form", locals: { category: @category, categories: @categories }) } + end end end @@ -38,10 +39,15 @@ class CategoriesController < ApplicationController def update if @category.update(category_params) + flash[:notice] = t(".success") - redirect_back_or_to categories_path, notice: t(".success") + respond_to do |format| + format.turbo_stream { render turbo_stream: turbo_stream.action(:redirect, categories_path) } + end else - render :edit, status: :unprocessable_entity + respond_to do |format| + format.turbo_stream { render turbo_stream: turbo_stream.replace("form", partial: "form", locals: { category: @category, categories: @categories }) } + end end end diff --git a/app/views/categories/_form.html.erb b/app/views/categories/_form.html.erb index 7117a3bf..43cc4f1f 100644 --- a/app/views/categories/_form.html.erb +++ b/app/views/categories/_form.html.erb @@ -1,48 +1,49 @@ <%# locals: (category:, categories:) %> +<%= turbo_frame_tag 'form' do %> +