Hi Everyone,
I have small doubt in rails. I hope i will get solution from here.
I am using rails find query like this
def self.data_query(params,label)
BaseManagedEntity.find(:all,
:select => “b.BaseManagedEntityInternalId,
c.#{DEVICE_NAMES[label]}, c.#{DEVICE_IPS[label]}, s.HealthState,
s.LastModified”,
:joins => “as b INNER JOIN #{TABLE_NAMES[label]} as c ON
c.basemanagedentityid = b.basemanagedentityid
INNER JOIN state as s ON b.basemanagedentityid =
s.basemanagedentityid”,
:conditions => BaseManagedEntity.all_conditions(params,
label),
:order => “s.LastModified DESC”,
:group => “b.BaseManagedEntityInternalId, s.HealthState,
s.LastModified, c.#{DEVICE_NAMES[label]}, c.#{DEVICE_IPS[label]}” )
end
DEVICE_NAMES = {“windows” => “NetworkName”, “unix” =>
“NetworkName_360E5A02_BC9E_0000_2614_1972E304088A”,
“network” =>
“Name_65AC01F1_F20E_CE0D_42CA_B24D1DE49E5F”}
DEVICE_IPS = {“windows” => “IPAddress”, “unix” =>
“IPAddress_360E5A02_BC9E_0000_2614_1972E304088A”,
“network” =>
“IPAddress_65AC01F1_F20E_CE0D_42CA_B24D1DE49E5F”}
TABLE_NAMES = {“windows” => “mt_computer”, “unix” =>
“MTV_Computer_0”,
“network” => “mt_networkdevice”}
HEALTH_STATES = {“Normal” => 1, “Warning” => 2, “Critical” => 3,
“Healthy” => 1 }
The abvoe method will call from this method
def self.all_devices(params)
all_devices = data_query(params, “windows”) + data_query(params,
“unix”) + data_query(params, “network”)
all_devices.paginate((params[:page] || 1), CONSTANTS[‘PAGINATE’]
[‘TEN’] )
end
I want to merge a attribute called “device_type”( which i will define
as attr_accessor)
after find query based on the label i used so that i can use attribute
in the views.
How can i do that. Please help me in this issue.