【发布时间】:2018-09-18 12:47:21
【问题描述】:
我在我的 Ruby on Rails 应用程序中使用 Audit gem。我在 Audits 和我的Orders 之间使用了多态关联。
现在,我想编写一个命名范围以仅获取未删除订单的审计(发生这种情况是因为订单在创建审计后被删除
<Audit id:110,
auditable_id:4,
auditable_type:"Order",
user_id:1,
user_type:"User",
username:nil,
action:"create",
created_at:"2018-04-07 09:06:20">,
#<Audit id:49,
auditable_id:3,
auditable_type:"Order",
user_id:3,
user_type:"User",
username:nil,
action:"create",
created_at:"2018-04-06 12:28:41">
现在,当我在控制台中输入 Audit.first.auditable 时,我得到 nil,因为与该 Audit 对应的订单被删除,当我输入 Audit.second.auditable 时,我得到与第二个 Audit 对应的订单。
我想过滤我的审计,以便删除订单被删除类型的审计(如 Audit.first)
【问题讨论】:
-
I want to write a named scope to get only those Audits for which Order is not nil。你的意思是没有删除订单而不是nil? -
是的,我的意思是订单没有被删除
-
应该就像在这里做一个内部连接一样简单。
标签: ruby-on-rails json ruby-on-rails-3 audit named-scope