- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Profile#Index
View ,我在其中渲染了一个部分,如下所示:
<% 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 %>
app/views/profiles/_profile.html.erb
,我有以下几点:
<% 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 %>
params
时才会出现在结果上。检查上面的代码是否有效/真实。
/
时他们应该看到一个配置文件列表,它的工作原理如下:
params[:rating]
到局部 View 和集合 View 。
app/views/profiles/_profile.html.erb
现在看起来像这样:
<% 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 %>
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)
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)
params[:rating]
对于我的集合和部分缓存键,它仍然无法在 root_page 上工作(也就是它显示不正确的部分)。这是结果的日志:
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)
最佳答案
它看起来像你的 Profile#Index
View 正在为使用内部缓存键的配置文件部分使用集合缓存:
<%= render partial: "profile", collection: profiles, cached: true %>
/
时,这会导致 Lola Hessel 和 Jeremy Verley(以及其他人)被缓存。 .参观
root_path
之后使用参数会导致缓存剩余的配置文件。然后第三个页面加载对每个配置文件都有缓存命中,并将它们呈现为之前缓存的。由于集合缓存首先服务,因此配置文件部分中的缓存不起作用。
<% cache [profile, params[:rating].present?] do %>
)可以解决问题。
关于ruby-on-rails - 如何根据 URL 中的参数破坏我的缓存键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40457977/
sanitize 是什么意思在 Rails 中是什么意思? 我正在阅读 CanCanCan 的文档.它说: When using strong_parameters or Rails 4+, you
在过去的几个月里,我感觉自己对 Ruby on Rails (RoR) 开发的了解达到了极限。我为大/小客户和 friend /爱好项目开发了大大小小的应用程序。我知道如何开发这些应用程序,但开始感觉
我昨天参加了一个关于扩展 Rails 的聚会,其中一个主题是 Hexagonal Rails。然而,我只做了一年的 Rails,对 MVC 结构非常满意(也许太舒服了),所以我不太了解适配器和消息队列
我使用多个 Rails 应用程序,一些在 Rails 3.2/Ruby 2.0 上,一些在 Rails 2.3/Ruby 1.8.7 上。 他们的共同点是,随着他们的成长和添加更多的依赖项/ gem
这个问题在这里已经有了答案: Using Rails-UJS in JS modules (Rails 6 with webpacker) (5 个答案) 关闭 3 年前。 我正在尝试使用 UJS
我正在开发一个当前使用 Rails 1.2 的 Rails 应用程序,所以我现在离最新的稳定版本(Rails 2.3)还有很长的路要走。 我应该如何进行迁移到更新版本的 Rails 的过程? 我应该一
尝试按照 Ryan Bates Backbone.js 教程构建抽奖应用程序,但我已经遇到了第一段代码的问题。在 application.js 的 init 函数中,他初始化了 Raffler 路由的
我正在使用 Rails 3.2 并且我有一个数据库表,我想在其中找到符合以下条件的所有行: a = true and b = true and ( 0 true, :b =>
我有一个用户类和一个联系人,其中联系人是用户的子类。这两个类都存储在用户表中。 我的联系人可能有也可能没有电子邮件地址,而我的用户需要一个电子邮件地址(我的用户模型定义中有 validates_pre
我正在编写一个教程,我在其中演示了一些 rails 命令。在我的机器上 rails和 script/rails两者都同样有效。有“首选”形式吗?两者中哪一个更普遍? 最佳答案 当您运行 rails 时
我正在寻找有关通过我的应用程序前进的最佳方式的建议,这是我首次开始集成Elasticsearch。我是一名初学者,但是热衷于深入研究,以便原谅任何明显的错误! 我遵循了http://www.sitep
我刚刚用 Rails new 启动了一个新的 Rails 应用程序,将默认数据库设置更改为 PostgresSQL。我用 bin/rails s 启动服务器,结果很奇怪 2016-04-21 05:0
我收到一个参数并希望它是这样的字符串: "abc,efg" 或者像这样的数组 ["abc","efg"] 在第一种情况下,我想将它转换成一个数组,什么是好的方法? 这是我的想法 if params[:
我刚刚用 Rails new 启动了一个新的 Rails 应用程序,将默认数据库设置更改为 PostgresSQL。我用 bin/rails s 启动服务器,结果很奇怪 2016-04-21 05:0
我收到一个参数并希望它是这样的字符串: "abc,efg" 或者像这样的数组 ["abc","efg"] 在第一种情况下,我想将它转换成一个数组,什么是好的方法? 这是我的想法 if params[:
我有 Rails 4,这是我的默认版本(我仍然希望它是)。但我不想在我的电脑上添加 rails 3.2。在以下命令中:gem install rails -v 3.2.16 我有这个警告: railt
您好,我想使用 Sheevaplug 构建一个“Rails Brick”来自 Marvell(操作系统是开箱即用的 Ubuntu,但您可以在其上安装其他发行版)。它将成为家庭服务器和静音、低成本(99
我需要能够从 Rails 控制台发送我的 Rails 应用程序的 Postgres 数据库中所有未接受的邀请。 (我有一个名为 Invitations 的表,其中包含一个名为 accepted 的 b
validate :cannot_modify_if_locked, on: :update def cannot_modify_if_locked if self.locked erro
我正在学习教程(学习 Rails 播客),需要更改以下路由语法,以便它与 Rails 3.0 兼容。谁能帮忙? map.view_page ':name', :controller => 'viewe
我是一名优秀的程序员,十分优秀!