问题标签 [russian-doll-caching]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
171 浏览

ruby-on-rails - 为什么这个缓存语句没有写出我期望的键?

我的_profile.html.erb部分有这个:

然而,这是我在服务器日志中看到的:

我在那里什么roles也没看到。

发生的情况是,如果我以具有admin角色的用户身份登录,然后以具有另一个角色的用户身份登录,我会看到缓存profiles显示为好像我是管理员而不是具有正确视图的其他用户。

可能是什么原因造成的,我该如何解决?

编辑 1

如果我将cache声明更改为:

刷新一下,这就是日志的样子:

编辑 2

当我binding.pry进入时_profile.html.erb,我得到以下信息:

我什至尝试了以下方法:

当以非管理员用户身份登录时,它仍然给我与管理员用户相同的缓存结果。

编辑 3

这是cache调用调用集合的块_profile.html.erb

0 投票
1 回答
66 浏览

ruby-on-rails - 尽管条件为真,cache_unless 仍然计算缓存键

我有一个简单的片段缓存:

当我登录时,该页面没有被缓存,这是我想要的,但是,缓存键仍在计算中,我可以在我的日志中看到 ActiveRecord 查询。

如果条件为真,我期望缓存不会计算新的缓存键。

0 投票
1 回答
138 浏览

ruby-on-rails - Rails:部分缓存嵌套表单

我有一个复杂的嵌套表单,当它没有被缓存时,它需要几秒钟才能加载。隐藏的 id 字段如下所示:

现在我想缓存表单的一部分,只更改更新的部分。问题是fields_for它无法识别缓存的部分并从 0 开始计数器:

所以第二个 [0][id] 字段会覆盖第一个字段。

有没有办法使用随机字符串而不是像这样的连续整数?

然后缓存的字段可以保持不变而不受任何干扰。感谢您提供解决此问题的任何想法!

0 投票
0 回答
22 浏览

php - 当前黑客信息

这只是为了让每个人都知道我今天早上在我的 apache 的 access.log 中遇到了什么,我是否应该担心它。我发现了什么是 GET /index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=md5&vars[1][]=HelloThinkPHP21 然后我用谷歌搜索 Thinkphp 并找到了这篇关于它的有趣文章。“ThinkPHP 是一个基于 PHP 的 Web 应用程序开发框架,在 Apache2 开源许可下分发。它专注于企业项目的快速开发,在运行 ThinkPHP 的服务器超过 40,000 台的中国非常流行。“我应该担心吗如果是这样,除了清除我的fail2ban日志之外,他们对我的网站做了什么吗?