diff --git a/app/controllers/tasks_controller.rb b/app/controllers/tasks_controller.rb index 0d99646..67a7990 100644 --- a/app/controllers/tasks_controller.rb +++ b/app/controllers/tasks_controller.rb @@ -7,8 +7,8 @@ def destroy task = Task.find(params[:id]) task.destroy rescue ActiveRecord::RecordNotFound - task = params[:id] + task = Task.new(id: params[:id]) ensure - render turbo_stream: turbo_stream.remove(task) + render turbo_stream: turbo_stream.remove(task.id) end end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 87787a5..9616485 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1,11 +1,5 @@ module ApplicationHelper - def turbo_id_for(obj, id_or_hash: false) - id = if id_or_hash - obj.id - elsif obj.persisted? - dom_id(obj) - end - - id || obj.hash + def turbo_id_for(obj) + obj.persisted? ? obj.id : obj.hash end end diff --git a/app/views/tasks/_task.html.erb b/app/views/tasks/_task.html.erb index db6bf92..bab8b6b 100644 --- a/app/views/tasks/_task.html.erb +++ b/app/views/tasks/_task.html.erb @@ -1,10 +1,10 @@ <%= fields_for "project[tasks_attributes][#{turbo_id_for(task)}]", task do |ff| %> -
+
Task Info <%= ff.label :name %>
<%= ff.text_field :name, class: "px-2 py-1 border w-full rounded-md" %> <%= ff.hidden_field :id %> - <%= button_tag "Delete Task", formaction: task_path(turbo_id_for(task, id_or_hash: true)), formmethod: :delete, class: "mt-4 float-right p-2 rounded-md bg-red-300 hover:bg-red-400" %> + <%= button_tag "Delete Task", formaction: task_path(turbo_id_for(task)), formmethod: :delete, class: "mt-4 float-right p-2 rounded-md bg-red-300 hover:bg-red-400" %>
<% end %>