所以这是一个有趣的——我有一个控制器方法,它根据一些规则返回一个“可恢复”对象的列表。但是,有一些条件我不能包含在单个数据库查询中——所以,我想渲染出“基本”可恢复列表,然后在返回客户端之前对其运行过滤器。
换句话说,我想做的是:
sessions = ended_sessions.where("current_date <= (created_at + interval '12 hours')")
json = JSON.parse(SessionResumeSerializer.new(sessions).as_json)
json.each do |session|
# additional processing
end
无论如何,SessionResumeSerializer.new(sessions).as_json
完全不起作用,抛出一个:
NoMethodError: undefined method 'read_attribute_for_serialization' for <ActiveRecord::Relation:0x007ffa164b0ce0>
错误。
我显然对这应该如何工作感到困惑——初始化程序会获取一个关系并将其呈现出来,这似乎完全直观。
有没有更好的方法来解决这个问题?