Je suis complètement confus avec la mise en œuvre has_many: à travers pour l'ensemble de données que j'utilise. J'ai donc deux tables - scheme_master et scheme_detailConfusion avec has_many: à travers
scheme_master a ces champs - id, scheme_detail_id, primary_scheme_id
scheme_detail a un domaine pertinent - id
Chaque schéma dans scheme_master a un schéma principal qui est auto-référentiel à la table scheme_master. Par exemple, le schéma 1 est le schéma primaire des schémas 1,2,3.
codes pertinents sont comme ci-dessous
scheme_master.rb
class SchemeMaster < ActiveRecord::Base
has_one :scheme_detail
has_many :child_schemes, class_name: "SchemeMaster",
foreign_key: :primary_scheme_id, primary_key: :id
end
scheme_detail.rb
class SchemeDetail < ActiveRecord::Base
belongs_to :scheme_master
end
Ma question est de savoir comment puis-je accéder schéma Détails de tout mon enfant régimes?
Actuellement,
SchemeMaster.find(1).child_schemes
me donne tous les régimes enfants - 1,2,3, mais je veux une association qui renverrait à scheme_detail des child_schemes. Je vous remercie.
juste essayer 'has_many: scheme_details, à travers:: child_schemes' – jvnill
Il jette un niveau de pile erreur trop profonde. :( –