Donc je vois cette étrange erreur lorsque j'essaie de faire un test interactif assez simple des associations que j'ai ajoutées. Voici les deux modèles :
class Lot < ActiveRecord::Base
has_many :graves
belongs_to :block
end
class Grave < ActiveRecord::Base
belongs_to :lot
end
Voici les migrations de création de table :
class CreateGraves < ActiveRecord::Migration
def change
create_table :graves do |t|
t.integer :grave_number
t.integer :lot_id
t.timestamps null: false
end
end
end
class CreateLots < ActiveRecord::Migration
def change
create_table :lots do |t|
t.integer :lot_number
t.integer :map_type
t.timestamps null: false
end
end
end
Je lance pry avec :
pry -r ./config/environment.rb
Ensuite, dans la session pry, je fais simplement :
lot = Lot.new
l.graves
et j'obtiens cette erreur :
NameError: uninitialized constant Lot::Grafe
from /.../activerecord-4.2.6/lib/active_record/inheritance.rb:158:in `compute_type'
Le ... est simplement le chemin vers mon installation de rbenv et la chaîne de sous-répertoires ruby 2.3.0. Je l'ai remplacé là-dedans pour que la sortie soit lisible.
J'ai plusieurs autres associations similaires définies sur d'autres classes et toutes fonctionnent comme prévu.