hi,
can anybody help me?
i wanna create a RoR monitoring application for my project.
i have a database with table named nodes
in that nodes i have id and ipadd.
here''s my code:
#nodes_controller.rb
require ''net/ping''
include Net
class NodesController < ApplicationController
def index
@nodes = Node.find(:all)
@arr_stat = Array.new
i = 0
for node in @nodes do
stat = PingExternal.new(node.ipadd)
@arr_stat[i][''ipadd''] = node.ipadd
if stat
@arr_stat[i][''status''] = ''online'';
puts "online"
else
@arr_stat[i][''status''] = ''offline'';
puts "offline"
end
end
respond_to do |format|
format.html { render :html => @arr_stat }# index.html.erb
format.xml { render :xml => @nodes }
end
end
##########################
why when i run the code it always says:
You have a nil object when you didn''t expect it!
You might have expected an instance of ActiveRecord::Base.
The error occurred while evaluating nil.[]
please help me solved this.
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
Your array is a simple array, but you''re referencing it like its an
array of hashes.
Also you''re using I like an incrementor, but you never increment it.
Its not very ruby-like.
Try this:
@arr_stat = Node.all.map do |node|
{:ipadd => node.ipadd, :status =>
PingExternal.new(node.ipadd) ? "online" : "offline"}
end
However, depending on what you want to do with this data later, this
may be a bad implentation.
Blog: http://random8.zenunit.com/
Learn rails: http://sensei.zenunit.com/
On 02/04/2009, at 12:18 PM, Junior Junior wangsa
<rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org
> wrote:
>
> hi,
>
> can anybody help me?
> i wanna create a RoR monitoring application for my project.
> i have a database with table named nodes
> in that nodes i have id and ipadd.
>
> here''s my code:
> #nodes_controller.rb
>
> require ''net/ping''
> include Net
>
> class NodesController < ApplicationController
> def index
> @nodes = Node.find(:all)
>
> @arr_stat = Array.new
> i = 0
> for node in @nodes do
>
> stat = PingExternal.new(node.ipadd)
>
> @arr_stat[i][''ipadd''] = node.ipadd
> if stat
> @arr_stat[i][''status''] =
''online'';
> puts "online"
> else
> @arr_stat[i][''status''] =
''offline'';
> puts "offline"
> end
> end
>
> respond_to do |format|
> format.html { render :html => @arr_stat }# index.html.erb
> format.xml { render :xml => @nodes }
> end
> end
> ##########################
>
> why when i run the code it always says:
>
> You have a nil object when you didn''t expect it!
> You might have expected an instance of ActiveRecord::Base.
> The error occurred while evaluating nil.[]>
> please help me solved this.
> --
> Posted via http://www.ruby-forum.com/.
>
> >
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
Thanks Julian i already try it.. and it works.. how i call and show the data in my html.erb?? can u show me how?? -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---