2014-07-27 2 views
1

활성 레코드 해시 값을 표시하고 싶지만 개체 자체 만보고 있습니다.내보기가 활성 레코드 개체를 표시하는 이유는 무엇입니까?

내가보기에 값을 표시 할 때이 표시됩니다

:

내가 해시 값을 내보기 코드 .all를 추가하면이 표시됩니다
#<ACTIVERECORD::RELATION:0X007F2600849018> 

.

[#<IPSREFERENCE_SYSTEM REF_SYSTEM_NAME: "BUGTRAQ">] 

컨트롤러 코드. 나는 @sig_ref_info@sig_info 배열 던졌다 반복하고있어

def get_sig_id(sig_sid) 
    IpsSignature.where('sig_sid =?', sig_sid).first.sig_id 
    end 

    def get_sig_sid(sig_id) 
    IpsSignature.where('sig_id =?', sig_id).first.sig_sid 
    end 

    def get_sig_gid(sig_id) 
    IpsSignature.where('sig_id =?', sig_id).first.sig_gid 
    end 

    def get_sig_class_id(sig_id) 
    IpsSignature.where('sig_id =?', sig_id).first.sig_class_id 
    end 

    def get_sig_class_name(sig_class_id) 
    IpsSigClass.where('sig_class_id =?', sig_class_id).first.sig_class_name 
    end 

    def get_sig_name(sig_id) 
    IpsSignature.where('sig_id =?', sig_id).first.sig_name 
    end 

    def get_ref_id(sig_id) 
    IpsSig_reference.select('ref_id').where('sig_id =?', sig_id) 
    end 

    def get_ref_system_id(ref_id) 
    IpsReference.select('ref_system_id').where('ref_id =?', ref_id) 
    end 

    def get_ref_system_name(ref_system_id) 
    IpsReference_System.select('ref_system_name').where('ref_system_id =?', ref_system_id) 
    end 

    def get_ref_tag(ref_id) 
    IpsReference.select('ref_tag').where('ref_id =?', ref_id) 
    end 

    def ips_signatures 

    @sig_info = Array.new 
    @sig_ref_info = Array.new 

    if params[:query].present? 

     signature_id = params[:query] 
     sig_id = get_sig_id(signature_id) 
     sig_sid = get_sig_sid(sig_id) 
     sig_gid = get_sig_gid(sig_id) 
     sig_class_id = get_sig_class_id(sig_id) 
     sig_class_name = get_sig_class_name(sig_class_id) 
     sig_name = get_sig_name(sig_id) 
     sig_ref_id = get_ref_id(sig_id) 
     sig_ref_id.each do |id| 
     sig_ref_tag = get_ref_tag(id.ref_id) 
     sig_ref_system_id = get_ref_system_id(id.ref_id) 
     sig_ref_system_id.each do |sys_id| 
      sig_ref_system_name = get_ref_system_name(sys_id.ref_system_id) 
      @sig_ref_info += [sig_ref_system_name: sig_ref_system_name, sig_ref_tag: sig_ref_tag] 
     end 
     end 
     @sig_info = [sig_sid:sig_sid,sig_gid: sig_gid, sig_class_name: sig_class_name, sig_name: sig_name] 
    end 
    end 

(보기 코드) :

<% @sig_info.each do |sig_info| %> 

    <div style="color:#58585a; font-size: 24px;padding-top:50px;padding-bottom:10px;font-weight:bold"> 
     Signature ID: 
    </div> 

    <div style="color:#58585a; font-size: 20px;padding-bottom:30px;font-weight:bold;"> 
     <%= sig_info[:sig_sid] %> 
    </div> 

    <table style="border-style:none"> 
     <div style="color:#2a2874; font-size: 24px;padding-bottom:20px;border-style:none"> 
      generator id: 
     </div> 
    </table> 

    <table style="border-style:none"> 
     <div style="color:#2a2874; font-size: 20px;padding-bottom:20px;border-style:none"> 
      <%= sig_info[:sig_gid] %> 
     </div> 
    </table> 

     <table style="border-style:none"> 
     <div style="color:#2a2874; font-size: 24px;padding-bottom:20px;border-style:none"> 
      class: 
     </div> 
     </table> 

     <table style="border-style:none"> 
     <div style="color:#2a2874; font-size: 20px;padding-bottom:20px;border-style:none"> 
      <%= link_to sig_info[:sig_class_name], '/ips_alert_classes?query='+ sig_info[:sig_class_name].to_s %> 
     </div> 
     </table> 

     <table style="border-style:none"> 
     <div style="color:#2a2874; font-size: 24px;padding-bottom:20px;border-style:none"> 
      signature name: 
     </div> 
     </table> 

     <table style="border-style:none"> 
     <div style="color:#2a2874; font-size: 20px;padding-bottom:20px;border-style:none"> 
      <%= sig_info[:sig_name] %> 
     </div> 
     </table> 

<% end %> 

     <table style="border-style:none"> 
      <div style="color:#2a2874; font-size: 24px;padding-bottom:20px;border-style:none"> 
       references: 
      </div> 
     </table> 

    <% @sig_ref_info.each do |ref_info| %> 

     <table style="border-style:none"> 
      <div style="color:#2a2874; font-size: 20px;padding-bottom:20px;border-style:none"> 
       <%= ref_info[:sig_ref_system_name] %> | <%= ref_info[:sig_ref_tag] %> 
      </div> 
     </table> 

    <% end %> 

ref_info 루프 내보기에 사용하기 위해 @sig_info@sig_ref_info 배열에 데이터를 추가 한 내가 문제를 겪고있는 곳이다. 나머지는 괜찮다. 당겨 받기를 기대하고있는 액티브 레코드 관계 객체의 키는 REF_SYSTEM_NAME: 키입니다. 내 뷰에서 내 do 블록에서 이것을 어떻게 꺼내야합니까?

+0

'get_ref_system_name '이란 무엇이며 어떤 결과를 반환합니까? –

+0

더 많은 코드로 업데이트 된 –

+0

을 파악할 수 있도록 총 컨트롤러 및보기 코드를 게시하십시오. –

답변

0

(해킹 손의 도움으로) acitve-record relations과 그 작업을 재구성했습니다.

관련 문제