【发布时间】:2016-01-19 02:44:27
【问题描述】:
当我尝试调用ActiveRecord 方法select 时,我的两个Rails 模型只会返回错误object doesn't support #inspect
这些模型使用after_initialize 回调,所以我怀疑它与此有关。
我正在像这样使用after_initialize 回调:
enum state: [ :archived, :active ]
after_initialize :state_init
after_initialize :date_init
def state_init
self.state ||= :active
end
def date_init
self.report_date ||= self.event ? self.event.event_date : Date.current
end
并且我需要使用select 方法来选择按月份分组的记录,该记录使用具有 Postgres 日期的字段
ModelName.select("date_trunc( 'month', report_date ) as month, count(*) as count").group('month')
有没有办法解决这个问题?
【问题讨论】:
-
一切都取决于你的
after_initialize做什么。你介意分享一些代码吗? -
@BroiSatse 我现在已将该代码放入问题中。谢谢。
-
唯一想到的——你是否在该模型中定义了自己的初始化方法?
-
嗨,托比,您的问题得到答案了吗?我面临同样的问题。请告诉我
-
@Toby1Kenobi 我有一个解决方案。但不确定你有什么错误。请让我知道错误。
标签: ruby-on-rails activerecord callback