有时将CSRF令牌作为属性填充为Rails 6表单

问题描述

我有一个奇怪的情况,我无法弄清楚-有时表单字段中填充了csrf_token

  1. 人们正在加入一个小组。
  2. 该表单包含enroll [group_user] [group_id]。

看起来像这样

<form data-target="groups-enroll.form" action="/teach/groups/636191/enrolls" accept-charset="UTF-8" data-remote="true" method="post">

 <input type="hidden" name="authenticity_token" value="ntKeXi34N7Ob6u7K4K4cgifKp22MNNyFOTz/ocQQlbVHnEnT+n/aLZlEfBYu/lqgN2qhdpjwdXXNdkY36TB//A==">
 <input type="hidden" value="636191" name="enroll[group_user_attributes][group_id]" id="enroll_group_user_attributes_group_id">

有时候,就像上个月提交表单时恰好四次一样,group_id的值为

"enroll": {
  "group_user_attributes": {
    "group_id": "x96KqNDRLhUhwWgQpf1c/x5puCXpLeiD+/Ym2gm3auRRBZsaVOw2rCpauziCJGmepsP6ueiBud/8ItW5JUhLxg==",...
  }
  ...
}

为什么会这样。为什么group_id字段具有csrf_token?

输入字段的生成方式为:

 <%= f.fields_for :group_user,{parent_builder: f} do |group_user_form| %>
        <%= group_user_form.hidden_field :group_id %> 

我不知道在这4种情况下,如何用令牌替换该组的ID?

第一次发生并没有打扰我。但是最近4周,每周发生一次(相比于成功注册了数百名学生),所以我认为这里有些缺失。

谢谢

更新1

这似乎是一个Firefox问题。在Firefox上,group_id的字段填充了一个奇怪的值

enter image description here

更新2 向Firefox报告错误-https://bugzilla.mozilla.org/show_bug.cgi?id=1667657

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)