如果用戶創建帖子,我正在使用public_activity寶石跟蹤。 有沒有辦法來破壞公共活動記錄,對崗位的缺失,因此,在活動養活它不顯示是這樣的:Rails 3 public_activity,銷燬記錄
A post was deleted.
,而是僅僅將刪除在活動表中的特定活動
謝謝。
如果用戶創建帖子,我正在使用public_activity寶石跟蹤。 有沒有辦法來破壞公共活動記錄,對崗位的缺失,因此,在活動養活它不顯示是這樣的:Rails 3 public_activity,銷燬記錄
A post was deleted.
,而是僅僅將刪除在活動表中的特定活動
謝謝。
我認爲這是OP尋找/可能已經找到的東西,但沒有發佈解決方案。
快速示例場景:
用戶創建了一個評論,因此公共活動記錄(關鍵:comment.create)是該評論創建。
現在,讓我們說用戶刪除他的評論。
存儲在活動表中的活動(key:comment.create)與剛剛刪除的原始評論相關。
當用戶刪除其相應的活動(鍵:comment.create)時,一起刪除該原始活動。只需執行以下操作。
#comments_controller.rb or whatever class you are tracking
def destroy
@comment = current_user.comments.find(params[:id])
@activity = PublicActivity::Activity.find_by(trackable_id: (params[:id]), trackable_type: controller_path.classify)
@activity.destroy
@comment.destroy
end
希望這可以幫助別人。
在您的發佈模型中,您可以跟蹤已刪除帖子的詳細信息,以便在顯示有關刪除後的通知時使用它。 可以改善您的通知「一個帖子已被刪除」例如 例如您Post.rb具有字段「內容有一個帖子在XYZ ABC時間格式刪除」:內容,以便在你Post.rb
class Post < ActiveRecord::Base
include PublicActivity::Model
tracked :params => {
:content => proc {|controller, model| (model.content)}
}
,並在您public_activity /後/ destroy.html.haml 您可以訪問的內容p[:content]
或者你也可以拒絕與活動記錄:鍵=> post.destroy 的是,在行動指數 類NotificationsController <的ApplicationController您的通知控制器
def index
@activities = PublicActivity::Activity.order("created_at DESC").reject{|activity| (activity.key == "post.destroy" }
這不會通知通知中的帖子刪除細節。
我得到一個未定義的方法'銷燬'爲零:NilClass,我錯過了什麼? –
您是如何創建活動的?你是否實現了基於軌道演員陣容? http://railscasts.com/episodes/406-public-activity – itsthewrongway
也許你可以看看我的問題 - > http:// stackoverflow。COM /問題/ 23046076 /未定義法滅上公開活動 –