我有軌4.1問題和答案論壇,其反應的客戶,用戶可以創建問題,答案和評論。我想通過使用活動模型串行器來傳遞所有用戶活動(不管類型)。理想情況下,這應該是一個由created_at排序的對象數組。我能夠創建數組,但推式方法會覆蓋另一個。結合用戶擁有的對象
我覺得我可能需要實際使用散列以避免嵌套的個體對象數組內的屬性的工作,但希望一些指導的迷宮。
如果這沒有意義,想想Facebook的顯示你最近的活動:
[
"You posted 'It's my birthday!' on 08/04/2017",
"You liked Tammy's post on 8/3/2017",
"You commented on Rihanna Tweets as Motivational Posters page on 8/1/2017"
]
user_activity方法:
def user_activity
activity = []
self.object.questions.each do |question|
activity.push(question)
end
self.object.answers.each do |answer|
activity.push(answer)
end
self.object.comments.each do |comment|
activity.push(comment)
end
end
感謝和抱歉noob問題。
你'user_activity'必須在最後返回'activity'陣列 - 而且,我認爲使用AM ::串行是矯枉過正,你的情況,因爲你只想輸出字符串(而不是序列記錄到一個特定的對象,就像一個哈希)。需要這種與用戶活動兼容(=字符串)輸出的每個模型中包含的簡單模塊就足夠了。我可以提供關於如何實現這一目標 – MrYoshiji
活泉一個例子!謝謝@MrYoshiji。我知道這是愚蠢的,我忘記了。按預期工作!謝謝! –
我認爲,我們已經結婚了在這一點上AMS,但我不會介意的額外信息。我們實際上是序列化非用戶對象中的很多記錄。 –