我想了解如何激活和取消激活軌道中的某個模型,而不必刪除任何內容。在Rails中取消激活和激活模型
遇到此代碼。
class User < ActiveRecord::Base
def activate_account!
update_attribute :is_active, true
end
def deactivate_account!
update_attribute :is_active, false
end
end
我對用戶模型的理解是,有一個「is_active」列。
我的問題是如何布爾實際上導致對象被激活和停用。
我的意思是「is_active」實際上是Rails方法嗎?還是定義在其他地方?當列設置爲true或false時,似乎無法獲知「激活/停用的魔力」。
沒有魔法。它將屬性「is_active」設置爲TRUE或FALSE。因此,您可以知道用戶是否擁有「活動」帳戶或不具有範圍或方法。例如:'scope:inactive, - > {where(is_active:false)}''並用'User.all.inactive'檢索所有非活動用戶。 –
我之所以希望停用特定模型(即評論)是因爲我想隱藏它,而不是完全刪除它。那麼我該如何隱藏它? – RailsNewbie
您可以爲'active'創建類似的作用域。並選擇僅顯示活躍的「評論」。 'Comment.all.active'在你的控制器中,所以'inactive'註釋保留在數據庫中,但不在你的視圖中。你明白這背後的概念? –