gpt4 book ai didi

ruby-on-rails - 如何在节省击键时减少跟踪记录的数量?

转载 作者:行者123 更新时间:2023-12-05 05:42:26 27 4
gpt4 key购买 nike

在 Rails 中保存对模型的更改时,跟踪更改的两个流行 gem 是 paper_trailaudited .每次更新模型时,这些 gem 都会创建包含版本控制信息的记录。

在用户键入时保存输入时,如何减少创建的记录数?

例如:

  1. 用户开始填写模型标题输入
  2. 用户开始输入“App”,几秒钟后输入“le”
  3. 数据库现在包含两个版本控制记录“App”和“le”

注意:在用户界面上设置延迟(比如保存前 250 毫秒)会减少记录的数量,但我们仍然会有一堆实际上只是一个的更新。

最佳答案

我认为最好的解决方案是 skip versioning基于条件(列、last_updated_at 等)。然后用以下 block 包装 Controller 操作。

PaperTrail.request(enabled: false) do
# no versions created
end

解决方案

对击键请求和表单提交使用不同的端点。

击键端点

仅由击键请求使用,并用上面的代码包装到 skip_versioning

表单提交端点

仅在提交表单时使用。

关于ruby-on-rails - 如何在节省击键时减少跟踪记录的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72033639/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com