【问题标题】:Rails 3 and undo last action buttonRails 3和撤消上一个操作按钮
【发布时间】:2010-09-01 11:37:18
【问题描述】:

您更愿意在 Rails 3 中使用哪种解决方案来提供类似 gmail 的撤消选项而不是确认弹出窗口?

我想允许用户撤消上一个操作,然后恢复该操作对表所做的更改。

到目前为止,我一直在尝试使用 Memento gem 来完成任务。它并不理想,但事情奏效了。问题是,这个 gem 似乎不是很活跃,而且它不适用于 Rails。我想为 Rails3 找到更优雅的东西。

有什么想法吗?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3


    【解决方案1】:

    http://github.com/airblade/paper_trail这样的东西怎么样?

    【讨论】:

    • 我目前正在测试这个。看起来非常出色,到目前为止与 Rails3 完美配合。
    • 不错的发现!感谢您的提醒
    【解决方案2】:

    我会在模型中添加一个字段,将其标记为例如已删除。要删除记录,删除操作可以将标志设置为用户 ID,并创建延迟作业以在定义的时间长度内删除记录。用户现在可以撤消他们之前的任何操作,直到这段时间过去。要撤消,请将标志重置为 nil 并删除延迟的作业。删除标志可用于对用户隐藏实例,直到它被实际删除。

    【讨论】:

    • 我确实保留了大部分记录并且从不删除它们,但是这种解决方案不适合撤消操作。这样,您唯一可以跟踪的是销毁操作,我希望用户能够撤消他们对特定模型所做的任何更改...
    猜你喜欢
    • 2021-05-05
    • 2013-01-17
    • 1970-01-01
    • 2015-05-07
    • 2011-08-31
    • 2018-12-20
    • 2016-09-22
    • 1970-01-01
    • 2021-10-23
    相关资源
    最近更新 更多