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 블록에서 이것을 어떻게 꺼내야합니까?
'get_ref_system_name '이란 무엇이며 어떤 결과를 반환합니까? –
더 많은 코드로 업데이트 된 –
을 파악할 수 있도록 총 컨트롤러 및보기 코드를 게시하십시오. –