I have a Profile#Index
view where I do partial like this:
<% cache @profiles do %> <div class="wrapper wrapper-content"> <% @profiles.to_a.in_groups_of(3, false).each do |profiles| %> <div class="row"> <%= render partial: "profile", collection: profiles, cached: true %> </div> <% end %> </div> <% end %>
But in my app/views/profiles/_profile.html.erb
I have the following:
<% cache profile do %> <% elsif current_user.has_role?(:coach) && params[:rating].present? %> <div class="contact-box-footer"> <div class="row text-center avg-ratings"> <div class="col-lg-3"> <span class="label label-success">Speed: <%= profile.ratings.find_by(user: current_user).speed %></span> </div> <div class="col-lg-3"> <span class="label label-info tackling">Tackling: <%= profile.ratings.find_by(user: current_user).tackling %></span> </div> </div> </div> <% end %> <% end %>
In the above example, labels are made at the bottom of the results, and these labels should only appear in the results when the params
check in the above code is valid / true.
So, when the user logging in goes to /
, he should see a list of profiles that works and looks like this:
Then they run the same root_path, but with the parameters, and it looks (correctly) as follows:
However, the problem is that when I return to the root page, it mixes and matches the results from the param version of the page, with the usual vanilla from the root path, where it should only be the same results from the first image above (also like the result of vanilla).
How to fix it?
Change 1
In the Austio sentence, I added params[:rating]
for both partial viewing and presentation of the collection.
So my app/views/profiles/_profile.html.erb
now looks like this:
<% cache [params[:rating], profile] do %> <% elsif current_user.has_role?(:coach) && params[:rating].present? %> <div class="contact-box-footer"> <div class="row text-center avg-ratings"> <div class="col-lg-3"> <span class="label label-success">Speed: <%= profile.ratings.find_by(user: current_user).speed %></span> </div> <div class="col-lg-3"> <span class="label label-info tackling">Tackling: <%= profile.ratings.find_by(user: current_user).tackling %></span> </div> </div> </div> <% end %> <% end %>
Both do not work properly, but here are the request logs with the code snippet above.
This is for the correct cached view.
Started GET "/profiles?rating=speed" for ::1 at 2016-11-07 10:05:34 -0500 Processing by ProfilesController#index as HTML Parameters: {"rating"=>"speed"} User Load (10.7ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT $2 [["id", 7], ["LIMIT", 1]] Role Load (3.3ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'admin') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] Role Load (4.1ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'coach') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] Role Load (2.6ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'player') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] (2.7ms) SELECT COUNT(*) FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'admin') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL)) OR ((roles.name = 'coach') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] CACHE (0.0ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'player') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] (2.1ms) SELECT COUNT(*) FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'coach') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL)) OR ((roles.name = 'admin') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] (4.9ms) SELECT "ratings"."profile_id" FROM "ratings" WHERE "ratings"."user_id" = $1 ORDER BY "ratings"."speed" DESC [["user_id", 7]] Profile Load (6.2ms) SELECT "profiles".* FROM "profiles" WHERE "profiles"."id" IN (5, 18, 14, 7, 22, 13, 9, 17) Tournament Load (2.6ms) SELECT "tournaments".* FROM "tournaments" ORDER BY "tournaments"."id" ASC LIMIT $1 [["LIMIT", 1]] Rendering profiles/index.html.erb within layouts/application Read fragment views/profiles/5-20161105043153971213/profiles/18-20161101223838805685/profiles/14-20161105042425134917/profiles/7-20161101001052922220/profiles/22-20161106175803133611/profiles/13-20161104221749051281/profiles/9-20161104221706306433/profiles/17-20161105043606243802/59a852f082290d51847bb12ee90b9d25 (0.3ms) Rendered profiles/index.html.erb within layouts/application (15.0ms) CACHE (0.0ms) SELECT COUNT(*) FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'coach') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL)) OR ((roles.name = 'admin') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] CACHE (0.0ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'admin') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] CACHE (0.0ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'coach') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] Rendered shared/_navbar.html.erb (15.1ms) Rendered layouts/_messages.html.erb (1.8ms) Rendered shared/_footer.html.erb (0.6ms) Completed 200 OK in 914ms (Views: 671.1ms | ActiveRecord: 39.3ms)
This is for an invalid cached view:
Started GET "/" for ::1 at 2016-11-07 10:06:17 -0500 User Load (8.8ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT $2 [["id", 7], ["LIMIT", 1]] Processing by ProfilesController#index as HTML Role Load (6.4ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'admin') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] Role Load (2.8ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'coach') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] Role Load (3.0ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'player') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] (6.2ms) SELECT COUNT(*) FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'admin') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL)) OR ((roles.name = 'coach') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] CACHE (0.0ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'player') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] (5.1ms) SELECT COUNT(*) FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'coach') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL)) OR ((roles.name = 'admin') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] Profile Search (148.2ms) curl http://localhost:9200/profiles_development/_search?pretty -d '{"query":{"match_all":{}},"size":1000,"from":0,"timeout":"11s","_source":false}' Tournament Load (2.3ms) SELECT "tournaments".* FROM "tournaments" ORDER BY "tournaments"."id" ASC LIMIT $1 [["LIMIT", 1]] Rendering profiles/index.html.erb within layouts/application Profile Load (4.9ms) SELECT "profiles".* FROM "profiles" WHERE "profiles"."id" IN (14, 22, 12, 21, 9, 5, 4, 15, 6, 7, 16, 18, 13, 23, 17) Read fragment views/profiles/14-20161105042425134917/profiles/22-20161106175803133611/profiles/12-20161101225114614189/profiles/21-20161103035514173735/profiles/9-20161104221706306433/profiles/5-20161105043153971213/profiles/4-20161103035528589634/profiles/15-20161029013919242687/profiles/6-20161105043216951643/profiles/7-20161101001052922220/profiles/16-20161029020526832889/profiles/18-20161101223838805685/profiles/13-20161104221749051281/profiles/23-20161104062851335443/profiles/17-20161105043606243802/59a852f082290d51847bb12ee90b9d25 (6.3ms) Read fragment views//profiles/12-20161101225114614189/01a5673b1dc193ec7173e62efba21a9b (0.1ms) (5.6ms) SELECT COUNT(*) FROM "votes" WHERE "votes"."voter_id" = $1 AND "votes"."voter_type" = $2 AND "votes"."votable_id" = $3 AND "votes"."votable_type" = $4 AND "votes"."vote_scope" IS NULL AND "votes"."vote_flag" = $5 [["voter_id", 7], ["voter_type", "User"], ["votable_id", 12], ["votable_type", "Profile"], ["vote_flag", true]] Position Load (3.2ms) SELECT "positions".* FROM "positions" INNER JOIN "positions_profiles" ON "positions"."id" = "positions_profiles"."position_id" WHERE "positions_profiles"."profile_id" = $1 ORDER BY "positions"."id" ASC LIMIT $2 [["profile_id", 12], ["LIMIT", 1]] School Load (4.4ms) SELECT "schools".* FROM "schools" WHERE "schools"."id" = $1 LIMIT $2 [["id", 2], ["LIMIT", 1]] CACHE (0.1ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'admin') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] CACHE (0.0ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'coach') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] Write fragment views//profiles/12-20161101225114614189/01a5673b1dc193ec7173e62efba21a9b (0.2ms) Rendered collection of profiles/_profile.html.erb [2 / 3 cache hits] (68.4ms) Read fragment views//profiles/21-20161103035514173735/01a5673b1dc193ec7173e62efba21a9b (0.1ms) (2.8ms) SELECT COUNT(*) FROM "votes" WHERE "votes"."voter_id" = $1 AND "votes"."voter_type" = $2 AND "votes"."votable_id" = $3 AND "votes"."votable_type" = $4 AND "votes"."vote_scope" IS NULL AND "votes"."vote_flag" = $5 [["voter_id", 7], ["voter_type", "User"], ["votable_id", 21], ["votable_type", "Profile"], ["vote_flag", true]] Position Load (2.6ms) SELECT "positions".* FROM "positions" INNER JOIN "positions_profiles" ON "positions"."id" = "positions_profiles"."position_id" WHERE "positions_profiles"."profile_id" = $1 ORDER BY "positions"."id" ASC LIMIT $2 [["profile_id", 21], ["LIMIT", 1]] School Load (3.8ms) SELECT "schools".* FROM "schools" WHERE "schools"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]] CACHE (0.0ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'admin') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] CACHE (0.0ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'coach') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] Write fragment views//profiles/21-20161103035514173735/01a5673b1dc193ec7173e62efba21a9b (2.2ms) Rendered collection of profiles/_profile.html.erb [2 / 3 cache hits] (46.5ms) Read fragment views//profiles/4-20161103035528589634/01a5673b1dc193ec7173e62efba21a9b (0.0ms) (2.6ms) SELECT COUNT(*) FROM "votes" WHERE "votes"."voter_id" = $1 AND "votes"."voter_type" = $2 AND "votes"."votable_id" = $3 AND "votes"."votable_type" = $4 AND "votes"."vote_scope" IS NULL AND "votes"."vote_flag" = $5 [["voter_id", 7], ["voter_type", "User"], ["votable_id", 4], ["votable_type", "Profile"], ["vote_flag", true]] Position Load (2.6ms) SELECT "positions".* FROM "positions" INNER JOIN "positions_profiles" ON "positions"."id" = "positions_profiles"."position_id" WHERE "positions_profiles"."profile_id" = $1 ORDER BY "positions"."id" ASC LIMIT $2 [["profile_id", 4], ["LIMIT", 1]] CACHE (0.0ms) SELECT "schools".* FROM "schools" WHERE "schools"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]] CACHE (0.0ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'admin') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] CACHE (0.0ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'coach') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] Write fragment views//profiles/4-20161103035528589634/01a5673b1dc193ec7173e62efba21a9b (0.1ms) Read fragment views//profiles/15-20161029013919242687/01a5673b1dc193ec7173e62efba21a9b (0.1ms) (2.3ms) SELECT COUNT(*) FROM "votes" WHERE "votes"."voter_id" = $1 AND "votes"."voter_type" = $2 AND "votes"."votable_id" = $3 AND "votes"."votable_type" = $4 AND "votes"."vote_scope" IS NULL AND "votes"."vote_flag" = $5 [["voter_id", 7], ["voter_type", "User"], ["votable_id", 15], ["votable_type", "Profile"], ["vote_flag", true]] Position Load (5.3ms) SELECT "positions".* FROM "positions" INNER JOIN "positions_profiles" ON "positions"."id" = "positions_profiles"."position_id" WHERE "positions_profiles"."profile_id" = $1 ORDER BY "positions"."id" ASC LIMIT $2 [["profile_id", 15], ["LIMIT", 1]] CACHE (0.0ms) SELECT "schools".* FROM "schools" WHERE "schools"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]] CACHE (0.0ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'admin') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] CACHE (3.7ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'coach') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] Write fragment views//profiles/15-20161029013919242687/01a5673b1dc193ec7173e62efba21a9b (0.1ms) Read fragment views//profiles/6-20161105043216951643/01a5673b1dc193ec7173e62efba21a9b (0.3ms) (2.9ms) SELECT COUNT(*) FROM "votes" WHERE "votes"."voter_id" = $1 AND "votes"."voter_type" = $2 AND "votes"."votable_id" = $3 AND "votes"."votable_type" = $4 AND "votes"."vote_scope" IS NULL AND "votes"."vote_flag" = $5 [["voter_id", 7], ["voter_type", "User"], ["votable_id", 6], ["votable_type", "Profile"], ["vote_flag", true]] Position Load (3.0ms) SELECT "positions".* FROM "positions" INNER JOIN "positions_profiles" ON "positions"."id" = "positions_profiles"."position_id" WHERE "positions_profiles"."profile_id" = $1 ORDER BY "positions"."id" ASC LIMIT $2 [["profile_id", 6], ["LIMIT", 1]] CACHE (0.0ms) SELECT "schools".* FROM "schools" WHERE "schools"."id" = $1 LIMIT $2 [["id", 2], ["LIMIT", 1]] CACHE (0.0ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'admin') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] CACHE (0.0ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'coach') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] Write fragment views//profiles/6-20161105043216951643/01a5673b1dc193ec7173e62efba21a9b (0.1ms) Rendered collection of profiles/_profile.html.erb [0 / 3 cache hits] (83.4ms) Read fragment views//profiles/16-20161029020526832889/01a5673b1dc193ec7173e62efba21a9b (0.0ms) (2.3ms) SELECT COUNT(*) FROM "votes" WHERE "votes"."voter_id" = $1 AND "votes"."voter_type" = $2 AND "votes"."votable_id" = $3 AND "votes"."votable_type" = $4 AND "votes"."vote_scope" IS NULL AND "votes"."vote_flag" = $5 [["voter_id", 7], ["voter_type", "User"], ["votable_id", 16], ["votable_type", "Profile"], ["vote_flag", true]] Position Load (3.9ms) SELECT "positions".* FROM "positions" INNER JOIN "positions_profiles" ON "positions"."id" = "positions_profiles"."position_id" WHERE "positions_profiles"."profile_id" = $1 ORDER BY "positions"."id" ASC LIMIT $2 [["profile_id", 16], ["LIMIT", 1]] CACHE (0.2ms) SELECT "schools".* FROM "schools" WHERE "schools"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]] CACHE (0.0ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'admin') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] CACHE (0.0ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'coach') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] Write fragment views//profiles/16-20161029020526832889/01a5673b1dc193ec7173e62efba21a9b (0.1ms) Rendered collection of profiles/_profile.html.erb [2 / 3 cache hits] (28.6ms) Read fragment views//profiles/23-20161104062851335443/01a5673b1dc193ec7173e62efba21a9b (0.1ms) (1.8ms) SELECT COUNT(*) FROM "votes" WHERE "votes"."voter_id" = $1 AND "votes"."voter_type" = $2 AND "votes"."votable_id" = $3 AND "votes"."votable_type" = $4 AND "votes"."vote_scope" IS NULL AND "votes"."vote_flag" = $5 [["voter_id", 7], ["voter_type", "User"], ["votable_id", 23], ["votable_type", "Profile"], ["vote_flag", true]] Position Load (2.9ms) SELECT "positions".* FROM "positions" INNER JOIN "positions_profiles" ON "positions"."id" = "positions_profiles"."position_id" WHERE "positions_profiles"."profile_id" = $1 ORDER BY "positions"."id" ASC LIMIT $2 [["profile_id", 23], ["LIMIT", 1]] School Load (2.2ms) SELECT "schools".* FROM "schools" WHERE "schools"."id" = $1 LIMIT $2 [["id", 3], ["LIMIT", 1]] CACHE (0.0ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'admin') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] CACHE (0.0ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'coach') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] Write fragment views//profiles/23-20161104062851335443/01a5673b1dc193ec7173e62efba21a9b (0.1ms) Rendered collection of profiles/_profile.html.erb [2 / 3 cache hits] (27.6ms) Write fragment views/profiles/14-20161105042425134917/profiles/22-20161106175803133611/profiles/12-20161101225114614189/profiles/21-20161103035514173735/profiles/9-20161104221706306433/profiles/5-20161105043153971213/profiles/4-20161103035528589634/profiles/15-20161029013919242687/profiles/6-20161105043216951643/profiles/7-20161101001052922220/profiles/16-20161029020526832889/profiles/18-20161101223838805685/profiles/13-20161104221749051281/profiles/23-20161104062851335443/profiles/17-20161105043606243802/59a852f082290d51847bb12ee90b9d25 (0.1ms) Rendered profiles/index.html.erb within layouts/application (357.4ms) CACHE (0.0ms) SELECT COUNT(*) FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'coach') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL)) OR ((roles.name = 'admin') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] CACHE (0.0ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'admin') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] CACHE (0.0ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'coach') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] Rendered shared/_navbar.html.erb (20.6ms) Rendered layouts/_messages.html.erb (2.4ms) Rendered shared/_footer.html.erb (0.6ms) Completed 200 OK in 1704ms (Views: 1262.0ms | Searchkick: 148.2ms | ActiveRecord: 89.4ms)
It still does not work. I hope this magazine illustrates what can help me figure this out.
Edit 2
When I add params[:rating]
both my collection and partial cache keys, it still does not work on the root page (otherwise it shows invalid partial keys). Here is the log from the result:
Started GET "/" for ::1 at 2016-11-07 11:50:15 -0500 User Load (23.9ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT $2 [["id", 7], ["LIMIT", 1]] Processing by ProfilesController#index as HTML Role Load (2.3ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'admin') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] Role Load (4.0ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'coach') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] Role Load (3.9ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'player') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] (4.2ms) SELECT COUNT(*) FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'admin') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL)) OR ((roles.name = 'coach') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] CACHE (0.0ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'player') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] (1.8ms) SELECT COUNT(*) FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'coach') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL)) OR ((roles.name = 'admin') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] Profile Search (157.6ms) curl http://localhost:9200/profiles_development/_search?pretty -d '{"query":{"match_all":{}},"size":1000,"from":0,"timeout":"11s","_source":false}' Tournament Load (4.6ms) SELECT "tournaments".* FROM "tournaments" ORDER BY "tournaments"."id" ASC LIMIT $1 [["LIMIT", 1]] Rendering profiles/index.html.erb within layouts/application Profile Load (7.1ms) SELECT "profiles".* FROM "profiles" WHERE "profiles"."id" IN (14, 22, 12, 21, 9, 5, 4, 15, 6, 7, 16, 18, 13, 23, 17) Read fragment views//profiles/14-20161105042425134917/profiles/22-20161106175803133611/profiles/12-20161101225114614189/profiles/21-20161103035514173735/profiles/9-20161104221706306433/profiles/5-20161105043153971213/profiles/4-20161103035528589634/profiles/15-20161029013919242687/profiles/6-20161105043216951643/profiles/7-20161101001052922220/profiles/16-20161029020526832889/profiles/18-20161101223838805685/profiles/13-20161104221749051281/profiles/23-20161104062851335443/profiles/17-20161105043606243802/c6925e7eaf791cab78909b69752bd7f8 (0.3ms) Rendered profiles/index.html.erb within layouts/application (30.5ms) CACHE (0.0ms) SELECT COUNT(*) FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'coach') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL)) OR ((roles.name = 'admin') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] CACHE (0.0ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'admin') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] CACHE (0.1ms) SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND (((roles.name = 'coach') AND (roles.resource_type IS NULL) AND (roles.resource_id IS NULL))) [["user_id", 7]] Rendered shared/_navbar.html.erb (26.9ms) Rendered layouts/_messages.html.erb (3.3ms) Rendered shared/_footer.html.erb (0.9ms) Completed 200 OK in 1677ms (Views: 1264.0ms | Searchkick: 157.6ms | ActiveRecord: 28.1ms)