From 882cff885c2ce47dc2e4552c59b721bb2a857059 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 8 Nov 2025 16:54:30 +0100 Subject: [PATCH] Remove overloaded filtering scope from my menu Making the filtering object serve the role of loading 4 collections is not good separation. --- app/controllers/my/menus_controller.rb | 9 ++++++--- app/views/my/menus/_boards.html.erb | 5 +++-- app/views/my/menus/_tags.html.erb | 2 +- app/views/my/menus/_users.html.erb | 2 +- app/views/my/menus/show.html.erb | 12 ++++++------ 5 files changed, 17 insertions(+), 13 deletions(-) diff --git a/app/controllers/my/menus_controller.rb b/app/controllers/my/menus_controller.rb index 900cf7c0a..2b20d2188 100644 --- a/app/controllers/my/menus_controller.rb +++ b/app/controllers/my/menus_controller.rb @@ -1,7 +1,10 @@ class My::MenusController < ApplicationController - include FilterScoped - def show - fresh_when etag: [ @user_filtering, Current.session ] + @filters = Current.user.filters.all + @boards = Current.user.boards.ordered_by_recently_accessed + @tags = Tag.all.alphabetically + @users = User.active.alphabetically + + # fresh_when etag: [ @user_filtering, Current.session ] end end diff --git a/app/views/my/menus/_boards.html.erb b/app/views/my/menus/_boards.html.erb index b9512da4a..f66d82d41 100644 --- a/app/views/my/menus/_boards.html.erb +++ b/app/views/my/menus/_boards.html.erb @@ -6,7 +6,8 @@ Add a board <% end %> - <% if user_filtering.boards.any? %> - <%= render partial: "my/menus/boards/board", collection: user_filtering.boards, as: :board %> + + <% if boards.any? %> + <%= render partial: "my/menus/boards/board", collection: boards, as: :board %> <% end %> <% end %> diff --git a/app/views/my/menus/_tags.html.erb b/app/views/my/menus/_tags.html.erb index 9f2d27cf6..577a5a5cf 100644 --- a/app/views/my/menus/_tags.html.erb +++ b/app/views/my/menus/_tags.html.erb @@ -1,3 +1,3 @@ <%= collapsible_nav_section "Tags" do %> - <%= render partial: "my/menus/tags/tag", collection: user_filtering.tags, as: :tag %> + <%= render partial: "my/menus/tags/tag", collection: tags %> <% end %> diff --git a/app/views/my/menus/_users.html.erb b/app/views/my/menus/_users.html.erb index c8c4d983c..1ebb58c7a 100644 --- a/app/views/my/menus/_users.html.erb +++ b/app/views/my/menus/_users.html.erb @@ -6,5 +6,5 @@ <% end %> - <%= render partial: "my/menus/users/user", collection: user_filtering.users, as: :user %> + <%= render partial: "my/menus/users/user", collection: users %> <% end %> diff --git a/app/views/my/menus/show.html.erb b/app/views/my/menus/show.html.erb index 6525cb12a..73bdcef12 100644 --- a/app/views/my/menus/show.html.erb +++ b/app/views/my/menus/show.html.erb @@ -9,11 +9,11 @@ <%= render "hotkeys" %> - <%= render "saved_filter", filters: @user_filtering.filters %> - <%= render "boards", user_filtering: @user_filtering %> - <%= render "tags", user_filtering: @user_filtering %> - <%= render "users", user_filtering: @user_filtering %> - <%= render "places", user_filtering: @user_filtering %> - <%= render "accounts", user_filtering: @user_filtering %> + <%= render "saved_filter", filters: @filters %> + <%= render "boards", boards: @boards %> + <%= render "tags", tags: @tags %> + <%= render "users", users: @users %> + <%= render "places" %> + <%= render "accounts" %> <%= render "footer" %> <% end %>