@Jowan

Организация связей ActiveRecord?

Есть 3 модели:

class Post < ActiveRecord::Base
  belongs_to :user
  has_many :likes, :dependent => :destroy
  has_many :users, through: :likes
end

class Like < ActiveRecord::Base
  belongs_to :user
  belongs_to :post	
end

class User < ActiveRecord::Base
  has_many :posts, :dependent => :destroy
  has_many :likes, :dependent => :destroy
  has_many :posts, through: :likes
end


Проблема вот в чем:
Когда я пытаюсь получить список постов пользователя (@user.posts), скрипт возвращает массив понравившихся записей. То же самое и при удалении пользователя - удаляются только "лайки" пользователя, но не сами записи этого пользователя.
Как убрать этот конфликт двух ассоциаций и получить работоспособность как has_many, так и has_many :through ?
  • Вопрос задан
  • 323 просмотра
Решения вопроса 1
@Jowan Автор вопроса
has_many :liked_posts, through: :likes, source: :article
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@thepry
Ruby on rails, 1С разработчик
has_many :liked_posts, through: :likes, class_name: 'Post'
Ответ написан
Комментировать
viktorvsk
@viktorvsk
То же самое и при удалении пользователя - удаляются только "лайки" пользователя, но не сами записи.

То есть, если вы написали пост, я его лайкнул, а после - удалил свой профиль, то ваше творчество канет в небытие?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы