在我的数据库中,我有一个表“审计”,其中包含一个名为“更改”的字段,它以哈希的形式存储数据。
我想检索具有以下条件的所有审核:
- auditable_type = 'Expression'
- action = 'destroy'
- changes = :EXP_SUBMISSION_FK =>'9999992642' #note that this field stores hash values
@expression_history_deleted = Audit.find(:all, :conditions => ["auditable_type =? AND action = ? AND changes = ?",'Expression', 'destroy' , { :EXP_SUBMISSION_FK =>'9999992642'} ])
上面的代码什么也不返回。
如果我删除条件中的“更改”,使其如下所示,我会得到一个条目列表:
@expression_history_deleted = Audit.find(:all, :conditions => ["auditable_type =? AND action = ?",'Expression', 'destroy'])
<% @expression_history_deleted.each do |test| %>
<%= test.changes['EXP_SUBMISSION_FK'] %> ---displays the value
<% end %>
我的问题是如何执行搜索并设置哈希值的条件。
****
我正在使用“acts_as_audited”,它将哈希格式的所有更改存储在“审计”表中。
****