使用自定义ruby文件重置密码

这是 明确 是步骤的一部分。

在创建具有该名称的用户字段与创建具有该名称的自定义字段之间存在差异。因此,哈希值被存储在了错误的位置。

问题在于,我认为后者(自定义字段)无法通过 API 访问。
我认为最好的前进方法是编写一些自定义的一次性代码,将用户字段的内容移动到实际的自定义字段中。

(我曾考虑修改插件,使其也查看用户字段,但我认为将这些哈希值暴露给用户界面存在安全风险,所以不打算这样做)。

这将起作用,请从 rails 控制台运行(标记您以便您看到编辑 @Hitesh_Sharma

ufkey = "user_field_#{UserField.find_by(name: 'import_pass').id}"
User.all.each do |u|
  if u.custom_fields.key?(ufkey)
    u.custom_fields[:import_pass] = u.custom_fields[ufkey]
    u.custom_fields.delete(ufkey)
    u.save_custom_fields
  end
end
2 个赞