我有一個簡單的例子,涉及到兩個模型類:(對象不支持#inspect)
class Game < ActiveRecord::Base
has_many :snapshots
def initialize(params={})
# ...
end
end
class Snapshot < ActiveRecord::Base
belongs_to :game
def initialize(params={})
# ...
end
end
與這些遷移:
class CreateGames < ActiveRecord::Migration
def change
create_table :games do |t|
t.string :name
t.string :difficulty
t.string :status
t.timestamps
end
end
end
class CreateSnapshots < ActiveRecord::Migration
def change
create_table :snapshots do |t|
t.integer :game_id
t.integer :branch_mark
t.string :previous_state
t.integer :new_row
t.integer :new_column
t.integer :new_value
t.timestamps
end
end
end
如果我試圖在創建快照實例軌道控制檯,使用
Snapshot.new
我得到
(Object doesn't support #inspect)
現在是好的部分。如果我註釋掉snapshot.rb中的初始化方法,那麼Snapshot.new將起作用。這是爲什麼發生?
順便說一句我正在使用Rails 3.1和Ruby 1.9.2
雖然它可能不是你的問題,但是當自定義「檢查」方法中出現錯誤時會出現此問題。原始錯誤不可見,這可能很煩人。 –