Remove overloaded filtering scope from my menu

Making the filtering object serve the role of loading 4 collections is
not good separation.
This commit is contained in:
David Heinemeier Hansson
2025-11-08 16:54:30 +01:00
parent 9c15e8d5dc
commit 882cff885c
5 changed files with 17 additions and 13 deletions
+6 -3
View File
@@ -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
+3 -2
View File
@@ -6,7 +6,8 @@
<span class="overflow-ellipsis">Add a board</span>
<% end %>
</li>
<% 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 %>
+1 -1
View File
@@ -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 %>
+1 -1
View File
@@ -6,5 +6,5 @@
<% end %>
</li>
<%= render partial: "my/menus/users/user", collection: user_filtering.users, as: :user %>
<%= render partial: "my/menus/users/user", collection: users %>
<% end %>
+6 -6
View File
@@ -9,11 +9,11 @@
</div>
<%= 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 %>