Ho un caso semplice, che coinvolge due classi del modello:(Oggetto non supportare #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
con queste migrazioni:
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
Se tento di creare un'istanza Istantanea rotaie console, utilizzando
Snapshot.new
ottengo
(Object doesn't support #inspect)
Ora per la parte buona. Se commento il metodo di inizializzazione in snapshot.rb, allora Snapshot.new funziona. Perché sta succedendo?
BTW sto usando Rails 3.1 e Ruby 1.9.2
Anche se potrebbe non esserci stato il problema, questo si verifica quando si verifica un errore in un metodo personalizzato 'inspect'. L'errore originale non è visibile, il che può essere fastidioso. –