내 데이터베이스에 해시 형태로 데이터를 저장하는 '변경 사항'이라는 필드가 포함 된 '감사'테이블이 있습니다.찾기 : 해시에 대한 모든 조건
나는 다음과 같은 조건을 모두 감사를 검색하고 싶습니다 : 리턴 아무것도 위
- 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'는 '감사'테이블에 해시 형식의 모든 변경 사항을 저장하는 사용하고 있습니다.
****
감사합니다. 'acts_as_audited'를 사용하여 '감사'테이블의 모든 변경 사항을 해시 형식으로 저장합니다. – Kim
그럴 경우, 레코드를 검색하고 루비를 사용하여 검색을 수행해야한다고 생각합니다. – Kim
가장 간단한 해결책 인 것 같습니다. 다른 방법은 블라드 슨이 제안한 것처럼하고 복잡한 전체 텍스트 검색을 시도하는 것입니다.하지만 텍스트가 아닌 실제 데이터를 다루기 때문에 편집증이 날 것입니다. – jbarket