Ho i seguenti modelli:Impossibile trovare Inverse Associazione per has_many in Rails 3
class Business < ActiveRecord::Base
has_many :customers, :inverse_of => :business
has_many :payments, :inverse_of => :business
end
class Customer < ActiveRecord::Base
belongs_to :business, :inverse_of => :customer
has_many :payments, :inverse_of => :customer
end
class Payment < ActiveRecord::Base
belongs_to :customer, :inverse_of => :payment
belongs_to :business, :inverse_of => :payment
end
Facendo business.customers
funziona bene. Tuttavia, quando faccio business.payments
viene visualizzato un messaggio di errore: Could not find the inverse association for business (:payment in Business)
.
Non so perché. Ho le stesse identiche associazioni in entrambi i modi. Anche il mio schema.db sembra a posto. Quale potrebbe essere il problema qui?
EDIT Quando ho rimuovere il inverse_of => :business
per has_many :payments
, funziona. Perché succede? È legato al fatto che il pagamento appartiene al cliente e al business (non dovrebbe essere importante, vero?)?
avete fatto applicare il comandi di rake adeguati per aggiornare le associazioni nel DB? – wandarkaf
@wandarkaf yes, db: migrate. Le associazioni erano lì da quando ho fatto la mia prima migrazione. Si prega di vedere sopra modifica. – darksky