Страницы

Поиск по вопросам

понедельник, 13 апреля 2020 г.

Связь многие ко многим в Rails

#ruby #ruby_on_rails

                    
Хочу связать тэги с постами, есть три модели:

    class Post < ActiveRecord::Base
      has_many :tag_to_post
      has_many :tags, :through => :tag_to_post
    end

class Tag < ActiveRecord::Base
  has_many :tag_to_post
  has_many :posts, :through=> :tag_to_post
end

class TagToPost < ActiveRecord::Base
  belongs_to :post
  belongs_to :tag
end


В консоли ввожу post=Post.find(Id_существующего поста)
После чего ввожу post.tags и получаю ошибку: 


  Circular dependency detected while autoloading constant TagToPost.


До того как написал сюда, нашёл вот такую запись: Rails: Why “has_many …, :through
=> …” association results in “NameError: uninitialized constant …”, где задача по всей
видимости схожа с моей, после чего модели были приведены к текущему виду (до этого
была другая ошибка "nameerror uninitialized constant").
Подскажите, пожалуйста, как решить мою проблему.
    


Ответы

Ответ 1



У вас has_many :tag_to_post А должно быть has_many :tag_to_posts

Комментариев нет:

Отправить комментарий