我有一个困境。我的控制器中有一个巨大的功能,可以将不同类型数据的负载标准化为一个视图列表。所以我现在有这种处理方式:
customer.notes.each do |note|
to_push = {
id: note.id,
title: 'Contact Note',
type: 'note',
description: note.notes,
user: note.user,
date: note.date,
action: nil,
extras: note.customer_interests,
closed: false,
colour: '#9b59b6'
}
history.push to_push
end
我想将它从控制器移到模型中,但我不太清楚如何。理想情况下我想要一个类似customer.notes.format_for_timeline
的方法,但我无法弄清楚如何在类中的自我方法中迭代结果。
由于
答案 0 :(得分:1)
我发现了怎么样。使用self
方法,然后all
:
def self.format
all.each do |item|
# Manipulate items here
end
end
然而,我最终得到了这样的方法:
def format
{
id: id,
note: 'Contact Note',
# Etc
}
end
然后刚刚使用:
customer.notes.map {|i| i.format }