get not working

F

Free Bird

I have a class Halt. If i type Halt, the output is=> Halt(id: integer, troute_id: integer, seq: integer, day: integer,
arrival: integer, departure: integer, duration: integer, tnode_id:
integer, mode: string, junction: boolean, distance: integer, created_at:
datetime, updated_at: datetime)

The database is populated. And code was working. But recently it stop
working.
If i type Halt.get, this is the output:NoMethodError: undefined method `get' for #<Class:0xb7025de8>
from
/usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/base.rb:1833:in
`method_missing'
from (irb):3
can you please suggest why this is happeneing?
 
R

Ryan Davis

I have a class Halt. If i type Halt, the output is
=> Halt(id: integer, troute_id: integer, seq: integer, day: integer,
arrival: integer, departure: integer, duration: integer, tnode_id:
integer, mode: string, junction: boolean, distance: integer,
created_at:
datetime, updated_at: datetime)

presumably Halt is both a method Halt() and a class... we can only
guess since you don't provide any code.
The database is populated. And code was working. But recently it stop
working.
If i type Halt.get, this is the output:

In this case you're trying to execute the #get class method on the
Halt class. That's what the parser sees at least. I'm guessing (again)
that you don't have a #get class method and you're instead expecting
to call the #get instance method on whatever the #Halt method returns.
If you want to ensure that you're calling your method, add parens:

Halt().get(1)

I don't think it is a good design to have an argless global method
with the same name as the class. you get confusion like the above.
 
B

Brian Candler

Free said:
If i type Halt.get, this is the output:
NoMethodError: undefined method `get' for #<Class:0xb7025de8>
from
/usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/base.rb:1833:in
`method_missing'
from (irb):3

can you please suggest why this is happeneing?

Did you mean Halt.find(1) ?

At ar.rubyonrails.com I don't see any "get" method (either class or
instance)
 
F

Free Bird

I have one db entry:(/db/migrate)

class CreateHalts < ActiveRecord::Migration
def self.up
create_table :halts do |t|
t.integer :troute_id, :null => false
t.integer :seq
t.integer :day
t.integer :arrival
t.integer :departure
t.integer :duration
t.integer :tnode_id, :null => false
t.string :mode
t.boolean :junction
t.integer :distance
t.timestamps
end
execute "alter table halts add constraint fk_halt_troutes foreign
key (troute_id) references troutes(id)"
execute "alter table halts add constraint fk_halt_tnodes foreign key
(tnode_id) references tnodes(id)"
end

def self.down
drop_table :halts
end
end

and i have one model (app/models)

# == Schema Information
# Schema version: 20081211325430
#
# Table name: halts
#
# id :integer(4) not null, primary key
# troute_id :integer(4) not null
# seq :integer(4)
# day :integer(4)
# arrival :integer(4)
# departure :integer(4)
# duration :integer(4)
# tnode_id :integer(4) not null
# mode :string(255)
# junction :boolean(1)
# distance :integer(4)
# created_at :datetime
# updated_at :datetime
#

class Halt < ActiveRecord::Base
belongs_to :troute
belongs_to :tnode
validates_presence_of :troute_id, :tnode_id
end

earlier, after populating database,
Halt.get(1) was working.
 
B

Brian Candler

Free said:
earlier, after populating database,
Halt.get(1) was working.

How sure are you? I also use activerecord-2.2.2, and 'get' just gives
NoMethodError. I have also checked through the gem source and find no
'def get' or 'def self.get'.

If it did work at one time, then I think you must either have installed
some plugin, or defined your own 'get' class method.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

No members online now.

Forum statistics

Threads
473,780
Messages
2,569,611
Members
45,270
Latest member
TopCryptoTwitterChannels_

Latest Threads

Top