所有问题

0 投票
1 回答
286 浏览

ruby-on-rails - 如果用户从支付提供商返回后浏览器会话 cookie 丢失,如何从数据库重新加载 ruby​​ on rails 中的会话

有红宝石的购物车在轨道上。我继承了一个项目,不得不从头开始学习 Rails 来管理它。一切正常,但这个让我难过。非常感谢任何输入。谢谢!

一些用户遇到的问题是,当他们在成功购买后从支付处理器返回时,他们的浏览器会清除 cookie(我假设在浏览器更新/防病毒等方面实施了一些安全措施)当他们返回网站时,自动创建一个新会话。这似乎是一个随机事件,但经过调查,我发现我可以通过在点击“立即付款”之前使用浏览器工具删除购物车的会话 cookie 来模拟问题。

在设置时,当原始 cookie 丢失时,系统无法告诉返回用户是谁。该页面无法呈现,导致他们的交易仍然显示为未付款,即使付款成功并且从他们的银行账户中扣除了钱。在这种情况下,用户只会看到一个空白屏幕。我已经设置了错误报告,这就是我得到的:

付款#success 中发生 NoMethodError:

未定义的方法id' for nil:NilClass app/controllers/payments_controller.rb:130:in 块(2级)成功'

这是有道理的,因为系统无法检索用户 ID,或者在这种情况下无法从 current_user.id 获取 @user.id,因为我假设如果缺少正确的经过身份验证的 cookie,则未定义 current_user。

从支付处理器收到的 POST 变量:

参数:{"PAY_REQUEST_ID"=>"51A3B42C-573E-085D-EE38-82E03A2817A3", "TRANSACTION_STATUS"=>"1", "CHECKSUM"=>"c38ba5ad8e69dad4b6cef26eb0831089", "controller"=>"payments", "action" =>“成功”}

我对此深思熟虑,花了大约 6 个小时试图让它发挥作用。

从逻辑上讲,我认为解决方案必须遵循以下原则:

支付处理器的结果返回一个变量,我可以使用该变量在数据库中查找交易。PAY_REQUEST_ID 是存储在支付sql 表中的值。

付款表也有 user_id 列,所以我可以使用它来获取正确的用户 ID:

@payment = Payment.where('authorisation = ?', params[:PAY_REQUEST_ID]).first

user_id = @payment.user_id

我将会话存储从浏览器更改为数据库,因此有一个包含会话的表,我可以从中检索信息。

那么我的问题是: 如何从数据库中的会话表中检索正确的会话并使用提取的@user.id 作为搜索键来加载它?(如果它可以在浏览器中自动创建正确的“引用”cookie,那么 ruby​​ 就知道从数据库中获取哪个会话,那就完美了!)

以下是浏览器删除 cookie 后创建的错误会话的示例。


会议:


  • 会话 ID:[过滤]
  • 数据:{“session_id”=>“197af40fddddb7811a6bd0af5641c498”,“货币”=>“美元”}

我试图用这样的东西重新填充current_user: current_user = User.where('id = ?', @payment.user_id) 但似乎我创建的 current_user 与什么不同的“类型”或数据结构应该是正确的 current_user 变量,因此这会导致进一步的问题和代码中断。

如前所述,在代码中,有一行@user = current_user,后来它被称为voucher.user_id = @user.id,如果会话cookie被浏览器擦除,则会触发noMethod错误。

0 投票
2 回答
55 浏览

r - 在 dplyr group_by 中过滤,以便保留符合某些条件的行组合

我有一个与此结构匹配的数据表:

我正在尝试使用 dplyr来查找给定地址/邮政编码分组至少有一个和至少一个mailout 的group_by情况。我正在寻找的结果是这样的:TRUEFALSE

当我尝试

我得到所有行返回。

当我尝试

我没有得到任何结果。

0 投票
2 回答
263 浏览

python - 函数在 django 中的日期范围之间给出错误的工作日总数

我一直在研究这个函数几个小时,我似乎无法弄清楚为什么它没有给我我期望的结果。我有一个生成日期时间开始和日期时间结束的测试。我想计算在该时间范围之间发生了多少个“星期一”或任何给定的一天。

复制,这是我给它的数据:

我期待回馈num_weekdays = 1

但我明白了num_weekdays = 0

我不知道如何解决这个问题,num_weekdays并且remainder 在调试时也是 0。

这就是我调用函数的方式:

这就是我获取参数的方式:

我不知道这是否有帮助,但这是测试:

0 投票
1 回答
181 浏览

javascript - 如何快速改变播放音调的频率而不会噼啪作响?

我有 50-200FPS 的循环,想用声音可视化数据。我需要快速流畅地响应数据变化,比如 Therminvox。什么库和方法最适合这个?

simpleTones.js 的问题:

  • 声音降低约 2 分钟,最后停止工作
  • 我不知道如何改变频率,但不仅播放单独的音符

Tone.js 的问题:

  • 我不知道如何改变频率

0 投票
0 回答
1085 浏览

php - DomPdf 渲染黑白图像

我正在用 dompdf 创建一个 pdf 文件。文件中有一个带有透明背景的徽标 .png 图像。创建文件时,它会将图像背景渲染为黑色,前景为白色。这是不正确的。有人可以帮助纠正这个问题吗?

这是pdf html图像路径:

我也试过public_path('images/logo.png')'./images/logo.png'。这没有用。我还尝试使用删除了 alpha 通道的 .jpg 文件,而渲染彩色照片没有任何变化。

奇怪的是,在我的本地主机上,图像被正确渲染,但在我的共享托管服务提供商的服务器上,这个不正确的图像渲染仍然存在。当我 logOutputFile 它给出:

0 投票
2 回答
677 浏览

python - 如何将标记器输出转换为训练器 API 在 Huggingface Transformers 中所需的 train_dataset?

我尝试使用拥抱脸转换器的文档进行标记化

Pre Trained Tokenizer 提供包含三个键的字典输出,它们是

Trainer API 需要输入类型的训练和评估数据集torch.utils.data.Dataset

我们如何使用此输出来创建 Trainer API 所需的训练数据集?

0 投票
1 回答
570 浏览

flutter - 当我关闭我的应用程序时,我的数据库正在重置

我正在使用 hive 数据库来存储货币变量。我想从不同的页面访问这个数据库,所以我在globals.dart页面上定义了框。我只希望在首次打开应用程序时此框为空,但每次打开应用程序globals.box时都会返回 null 并且我的money变量正在重置为1000. 我怎样才能解决这个问题?

这是我的主文件:

这是我的全局文件

我正在使用此代码来更改货币变量:

0 投票
3 回答
925 浏览

javascript - 动态地将类添加到 React map 函数中的前 n 个元素

我正在通过一个数组进行映射,我想为其分配一个类给前 n 个元素。前 n 个元素由父组件传递,并且在稳步增加。

我可以使用三元运算符之类的东西className={index >= firstNElements ? '' : 'MyClass';},但是这需要映射所有数组项。在数组中有数千个项目并且经常更改道具的情况下,这似乎是无效的。有没有更快的方法来完成这项任务?就像为索引小于 firstNElements 的所有元素构造一个 while 循环一样?

0 投票
0 回答
24 浏览

mysql - 我需要通过以下方式加入这两个表..使用mysql

表格1

表 2

结果

0 投票
1 回答
44 浏览

prismjs - 如何在 Scully 中突出显示代码块?

我正在用Scully创建一个博客,并寻找一种在那里设置代码高亮的好方法。

例如,这样的代码块(定义语言):

0 投票
1 回答
110 浏览

axon - Axon Saga 订阅模式并发问题

使用 Axon 4.3.5 在我的 Saga 中从跟踪模式切换到订阅模式时,我看到了意外的行为

看来,在订阅模式下,当两个线程同时到达两个 @StarSaga 方法时,会为相同的关联键值创建两个 saga。我错过了什么吗?

我有这个来重现它:

使用跟踪模式时测试通过,但订阅失败。(yml 配置)

0 投票
2 回答
913 浏览

kubernetes - 嗨,我正在尝试让客户端 real-ip 限制 kubernetes 环境上 pod 的某些访问

嗨,我正在尝试让客户端真实 IP 限制在 pod 上的某些访问。但不幸的是,我总是在每个 pod 上得到 10.244.1.1。我试过https://kubernetes.io/docs/tutorials/services/source-ip/但不幸的是没有运气。请帮忙。

我在 cent os 7 裸机服务器上为 kubernetes 集群使用 kubernetes 1.8.2 版本。我没有任何选择,只能使用裸机。作为入口控制器,我使用的是 kong。我的 kong 入口控制器总是得到 10.244.1.1。在kong有一个叫做IP限制的功能。我正在尝试使用它。

所以其他人建议使用另一个 kong hop 作为负载均衡器,这对我的情况来说不是一个好的解决方案。

0 投票
1 回答
44 浏览

docker - 如何从运行在同一 Kubernetes 集群中的容器连接到在 Kubernetes 集群中的主机 VM 上运行的 Docker?

我正在使用其中安装了 docker 的 docker 映像,以便运行任务以清理 kubernetes 集群中每个节点上的 docker 映像数据。我尝试使用 Daemonset,因为它将在除 master 之外的每个节点上运行,但在 docker 容器内运行 cron 证明是徒劳的。

因此,我正在尝试使用定期运行的 K8s Cronjob,并具有以下属性:

hostNetwork: true

我正在运行一个 shell 脚本,该脚本从上述 CronJob 创建的容器中运行 docker 命令。

但是,当我尝试使用docker -H X.X.X.X images其中 XXXX 是 k8s 集群中一个节点的 IP 让所有图像在 kubernetes 集群的一个节点上运行时,我收到以下错误:

Cannot connect to the Docker daemon at tcp://X.X.X.X:2375. Is the docker daemon running?

难道我做错了什么?如何从运行在 kubernetes 集群内的容器连接到运行在 kubernetes 集群节点上的 Docker?

0 投票
1 回答
219 浏览

python - Micropython构建外部C模块

因此,在官方 micropython 存储库发生更改后,由于旧 es​​p-idf 版本不兼容,我无法再构建外部 C 模块。我遵循了这个官方文档中的确切步骤: https ://docs.micropython.org/en/latest/develop/cmodules.html

我在 /ports/unix 文件夹中运行此命令:

我得到的错误是:

有什么想法有什么问题吗?

0 投票
1 回答
569 浏览

android - 如何观察更改对象 Kotlin

我有 RecyclerView 与对象内的元素。如果我的列表更新,我想更新我的 recyclerView。如何观察列表的变化?

篮子存储

0 投票
1 回答
80 浏览

java - 如何从用户输入中获取随机字符并将随机字符存储到数组中?

现在我想从中找到一个随机字符集array,随机字符也是最大的(输入字符串长度为 1)。然后将 Random 字符存储到另一个Array中。接下来我该怎么办?

0 投票
1 回答
55 浏览

firebase - 将 Firebase Cloud Functions 用作 API 时的计费问题

我正在考虑将 Firebase Cloud Functions 与 Express 服务器一起使用来提供来自我的 Firestore 的数据。我似乎找不到答案的问题是关于我的云功能将对我的 Firestore 数据提出的请求。我了解 Firestore 计费的工作原理,按记录读/写/删除计费。但是,当云函数发出请求时,每次另一个用户请求某些数据时,它是否算作对每个 Firestore 记录的新读/写/删除,或者它是否以某种方式缓存数据?或者,我是否可以让firebase云函数以读取所有记录一次的方式将firestore数据保存在内存中,像firebase在客户端那样监听变化,并在我的 API 请求进入时从内存中的数据提供结果?还是 Firebase Cloud Functions 已经在内存中与我的 Firestore 中的数据建立了开放连接?

0 投票
1 回答
67 浏览

php - PHP 无法找出正确的日期格式

我有来自 mysql 的数据类型为 DATETIME 的数据,格式为2020-08-19 10:48:00

但是,我的 HTML 表单上的“datetime-local”类型的输入是dd-mm-yyyy --:--

所以很明显,如果我尝试将输入值设置为获取的日期时间,它就不起作用。我有一个格式化日期的函数,在这里:

但遗憾的是,我已经尝试了所有案例和我刚刚添加的第 15 号案例。谁能告诉我有没有更好的方法或实际正确的格式,所以我可以将它实现到我的函数中

0 投票
1 回答
1701 浏览

mesh - 使用 stl 文件使用 GMSH 创建体积网格

我有一个 3D stl 文件,我想使用这个 stl 文件创建一个 3D 网格。因此,在 gmsh 中,我执行以下操作:

  • 打开.stl文件
  • 几何 > 基本实体 > 添加 > 体积
  • 选择音量并按“e”
  • 网格 > 3D

我总是在表面 1 上出现以下错误“无效的边界网格段-面交集”(见图)。有人可以帮我解决这个错误吗?

dl stl 文件的链接。

谢谢

收到错误信息

0 投票
2 回答
568 浏览

excel - 使用 Excel vba 创建活动工作表的备份副本

我需要将活动工作表的备份副本创建到新工作簿中。以便创建新工作簿,其中仅包含 Active Sheet(无宏,无 vba)

我需要它发生在“打开后”我的工作表事件中

执行以下操作:

它复制了整个工作簿,其中包含所有 vba 代码和宏,而不是我需要的。

有没有办法只复制活动表?

理想情况下,我希望有单元格引用(我将文件路径存储在不同的工作表中,在名为“BackupPath”的单独单元格中)。

0 投票
0 回答
95 浏览

mysql - 在 mysql 8 中使用 json 字段的表占用的空间比实际数据多得多

我只是用它来存储 json 数据。

json 字段的大小从至少 15kb 逐渐增加到 100kb 以内的数据。

确认大约 82,317 行占用了 90 GB。

预期的最大磁盘使用量为 8 GB。

转储文件大小为 1.2 GB,还原时使用的是 1.9 GB 磁盘。

我怀疑 json 字段导致数据库碎片。

想问问各位有没有类似的经历。

目前我正在研究如何分配一个固定长度约为 200kb 的字段。

0 投票
2 回答
58 浏览

python - 为什么当我更改函数名称时此代码不起作用?

我在一个网站上看到了这段代码,它的用途是监控键盘是否有任何键被按下,然后它会打印下面写的语句。问题是,每当我更改函数名称时,它只是......停止工作!

基本上,当我将on_pressand更改on_releasekey_pressedandkey_released然后将按钮行(在侦听器变量中)中的 and 更改为我定义的名称时,代码运行没有任何错误,但是每当我按下键盘上的任何键时,它on_press只是on_release写入分配的字符而不是整个语句。为什么?

0 投票
0 回答
451 浏览

python - 错误为 TypeError:无法腌制“_thread.RLock”对象

我尝试在我的 conv 自动编码器中运行 KerasClassifier 以进行去噪以进行超参数调整,但遇到了上述错误。

下面提到了代码和日志

代码-

日志-

0 投票
2 回答
46 浏览

javascript - 在Javascript中将整数映射到其他变量的正确方法是什么

我想integer => something在 JavaScript 中链接而不需要遍历数组的每个元素。例如,在 PHP 中,我可以使用任意值而不会使数组变大。

假设我的测试 JS 代码是

鉴于此示例代码,该数组包含许多空元素,这意味着执行此操作的方法不正确。理论上我可以在其中做对象数组,{int:1,val:'hello'}但这需要我遍历所述数组以访问其中一个元素,这不是我需要的。

有没有更好的方法在 JavaScript 中做到这一点?如果不是,那么该方法有多糟糕,例如为此浪费了多少内存?

0 投票
1 回答
374 浏览

spring-boot - 不支持请求方法“GET”,不允许方法,状态=405

Request method 'GET' not supported, Method Not Allowed 405()

当我在我的控制器类中使用@DeleteMapping 时,我得到了上述类型的错误首先我没有在我的DeleteMapping 中使用“路径”我直接提供了我的路径,然后我得到了同样的错误为什么会出现这种类型的错误。请提及此类错误的主要原因是什么以及解决方案 Controller.java 是什么

我在我的 chrome 浏览器中收到此错误 在此处输入图像描述

我在邮递员上遇到了同样的错误 在此处输入图像描述