В документации подразумевается, что inverse_of будет работать для всего, кроме полиморфных ассоциаций. http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#module-ActiveRecord::Associations::ClassMethods-label-Setting+Inverses
Однако он выглядит inverse_of все еще не работает для has_many: через
например. каждая комбинация, которую я пробовал для inverse_of в следующем примере, не работает.
class Event < ActiveRecord::Base
has_many :attendances
has_many :users, through: :attendance
class User < ActiveRecord::Base
has_many :attendances
has_many :events, through: :attendances
class Attendance < ActiveRecord::Base
belongs_to :event
belongs_to :user
любые идеи этого должны работать? и если да, то как я бы установил inverse_of в этом примере?
UPDATE
например. из того, что я пробовал (также пытался на has_many: через)
class Event < ActiveRecord::Base
has_many :attendances , :inverse_of => :event
has_many :users, through: :attendance
end
class User < ActiveRecord::Base
has_many :attendances , :inverse_of => :user
has_many :events, through: :attendances
end
class Attendance < ActiveRecord::Base
belongs_to :event, :inverse_of => :attendances
belongs_to :user, :inverse_of => :attendances
end
также попробовал
class Event < ActiveRecord::Base
has_many :attendances
has_many :users, through: :attendance , :inverse_of => :events
end
class User < ActiveRecord::Base
has_many :attendances
has_many :events, through: :attendances ,:inverse_of => :users
end
class Attendance < ActiveRecord::Base
belongs_to :event
belongs_to :user
end