je les classes suivantes avec les associations:actifs enregistrement Rails 3 associations ne fonctionnent pas correctement
class Customer < ActiveRecord::Base
has_many :orders
has_many :tickets, :through => :orders
has_many :technicians, :through => :ticket
has_many :services, :through => :ticket
end
class Order < ActiveRecord::Base
belongs_to :customer
has_many :tickets
has_many :technicians, :through => :tickets
has_many :services, :through => :tickets
end
class Service < ActiveRecord::Base
has_many :tickets
has_many :technicians, :through => :tickets
has_many :orders, :through => :tickets
end
class Technician < ActiveRecord::Base
has_many :tickets, :order => 'created_at DESC'
has_many :services, :through => :tickets
has_many :orders, :through => :tickets
end
class Ticket < ActiveRecord::Base
belongs_to :technician
belongs_to :service
belongs_to :order
end
je peux faire:
technician.tickets.service.price
Mais je ne peux pas le faire:
customer.orders.technician.name
customer.orders.last.tickets.technician.name
Comment puis-je aller de client à technicien ou service?
Groovy/Grails peut le faire :-) Via le * -operator, qui diffuse un appel de méthode sur chaque élément dans une collection. Super chouette, avec aucune délégation via '?' La première chose que j'ai manqué en passant à Rails ... – Matthias