From ccf588845a6e595d1c9b2726a05eddd34bc92488 Mon Sep 17 00:00:00 2001 From: Miquel Sabaté Solà Date: Wed, 20 Mar 2024 13:59:15 +0100 Subject: tags: added a way to update tags MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It's useful to just rename tags which have quite some references that you don't want to nuke. Signed-off-by: Miquel Sabaté Solà --- app/assets/stylesheets/tags.css | 2 +- app/controllers/tags_controller.rb | 12 +++++++++++- app/views/tags/_tag.html.erb | 1 + app/views/tags/edit.html.erb | 9 +++++++++ app/views/tags/new.html.erb | 2 +- 5 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 app/views/tags/edit.html.erb (limited to 'app') diff --git a/app/assets/stylesheets/tags.css b/app/assets/stylesheets/tags.css index 75dd87d..bcf74cf 100644 --- a/app/assets/stylesheets/tags.css +++ b/app/assets/stylesheets/tags.css @@ -3,7 +3,7 @@ vertical-align: middle; } -#tag-new h3 span { +#tag-page h3 span { font-size: 1rem; vertical-align: middle; } diff --git a/app/controllers/tags_controller.rb b/app/controllers/tags_controller.rb index 8ae36d7..9d87687 100644 --- a/app/controllers/tags_controller.rb +++ b/app/controllers/tags_controller.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class TagsController < ApplicationController - before_action :set_tag, only: %i[destroy] + before_action :set_tag, only: %i[edit update destroy] def index @tags = Tag.order(:name) @@ -11,6 +11,8 @@ class TagsController < ApplicationController @tag = Tag.new end + def edit; end + def create @tag = Tag.new(tag_params) @@ -21,6 +23,14 @@ class TagsController < ApplicationController end end + def update + if @tag.update(tag_params) + redirect_to tags_url, notice: t('tags.update-success') + else + render :edit, status: :unprocessable_entity + end + end + def destroy @tag.destroy! diff --git a/app/views/tags/_tag.html.erb b/app/views/tags/_tag.html.erb index 65c6d4e..0a82898 100644 --- a/app/views/tags/_tag.html.erb +++ b/app/views/tags/_tag.html.erb @@ -3,6 +3,7 @@ <%= tag.name %>
+ <%= link_to I18n.t('general.edit'), edit_tag_path(tag) %> | <%= link_to I18n.t('general.delete'), tag_path(tag), data: { "turbo-method": :delete } %>
diff --git a/app/views/tags/edit.html.erb b/app/views/tags/edit.html.erb new file mode 100644 index 0000000..44214a3 --- /dev/null +++ b/app/views/tags/edit.html.erb @@ -0,0 +1,9 @@ +
+
+
+

<%= I18n.t('tags.update') %> — <%= link_to I18n.t('general.back-to-list'), tags_path %>

+ + <%= render "form", tag: @tag %> +
+
+
diff --git a/app/views/tags/new.html.erb b/app/views/tags/new.html.erb index 9d6e1a8..97cd410 100644 --- a/app/views/tags/new.html.erb +++ b/app/views/tags/new.html.erb @@ -1,6 +1,6 @@
-
+

<%= I18n.t('tags.new') %> — <%= link_to I18n.t('general.back-to-list'), tags_path %>

<%= render "form", tag: @tag %> -- cgit v1.2.3