【发布时间】:2019-05-20 12:57:27
【问题描述】:
我对 Rails 还很陌生。请问我需要一些帮助,我正在建立一个数字图书馆。
我希望将软删除选项添加到我的应用程序中。
现在我已经在我的表中添加了一个具有布尔数据类型的列 delete,并且我还在我的控制器中为 soft delete 定义了操作,但我面临在模型中定义软删除操作的范围的问题,以便可以在控制器中调用该操作。
我想要一个默认为 false 的软删除范围,然后当我删除一本书时,它会在数据库中更新为 true。
控制器动作
def softdelete
@book.softdelete
respond_to do |format|
format.html { redirect_to books_url, notice: 'Book was successfully deleted.' }
format.json { head :no_content }
end
end
软删除迁移
class AddDeleteToBooks < ActiveRecord::Migration[5.2]
def change
add_column :books, :delete, :boolean, :null => true
end
end
剩下的就是如何在书本模型中定义软删除的方法。
我将不胜感激任何形式的帮助。谢谢。
【问题讨论】:
-
我会考虑为此目的使用宝石,看看偏执狂或丢弃宝石。让您的生活更轻松。
-
但我也会为此写一个简短的答案...