所以我看到這個奇怪的錯誤,當我嘗試做一個相當簡單的交互式測試我添加的關聯。這裏有兩種型號:測試協會撬奇怪的錯誤
class Lot < ActiveRecord::Base
has_many :graves
belongs_to :block
end
class Grave < ActiveRecord::Base
belongs_to :lot
end
下面是創建表的遷移:
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
我調用撬帶:
pry -r ./config/environment.rb
然後在撬會議上,我簡單地做:
lot = Lot.new
l.graves
我得到這個錯誤:
NameError: uninitialized constant Lot::Grafe
from /.../activerecord-4.2.6/lib/active_record/inheritance.rb:158:in `compute_type'
...有簡單的路徑,我的rbenv安裝和紅寶石2.3.0子目錄鏈。我在那裏替換它以保持輸出可讀。
我還有其他類定義了其他類似的關聯,所有這些都按預期工作。
改變從'類名後的默認行爲墳墓'到'Gravesite'照顧這個。我不知道系統中的什麼寶石會干擾Grave類的名稱,但是無論它是哪一個,它都是一個巨大而嘈雜的WTF。 – jaydel