Проблема с has_many, через ассоциацию

По какой-то причине мой has_many через ассоциацию не работает. Вот мои модели:

class Interest < ActiveRecord::Base

  has_many :evints
  has_many :events, through: :evints
  has_many :images, through: :events

end

class Event < ActiveRecord::Base

  has_many :evints
  has_many :images
  has_many :interests, through: :evints

end

class Evint < ActiveRecord::Base

  belongs_to :events
  belongs_to :interests

end

Таблица Evints имеет три столбца: Interest_id, Event_id и ID.

Когда я звоню @ Interest.events, я получаю сообщение об ошибке

uninitialized constant Interest::Events

Очевидно, что с ассоциацией что-то не так, если @ Interest.events читается как константа!

У кого-нибудь есть какие-либо идеи?

Спасибо!

1 ответ

Проверьте свой класс Evint, он должен быть:

class Evint < ActiveRecord::Base
  belongs_to :event
  belongs_to :interest
end

С другой стороны, я думаю, что Evint на самом деле не очень хорошее имя. Было бы предложено, чтобы вы использовали EventInterest и назвали таблицу event_interests.

Другие вопросы по тегам