Я пытаюсь реализовать отношения, похожие на Facebook.
Я хотел использовать наследование для этого, поэтому вот моя структура:
Любит с атрибутом user_id: integer
|> PostsLike, который наследует Like с атрибутом post_id: integer
Итак, вот моя модель Like.rb:
class Like < ActiveRecord::Base
belongs_to :user
end
А потом моя модель PostLike.rb:
class Postlike < Like
belongs_to :post
end
И, наконец, у меня есть модель поста, которая будет иметь несколько объектов постликов:
class Post < ActiveRecord::Base
has_many :postlikes
end
Но вот моя проблема, когда я вхожу в IRC и это:
Я получаю объект Post:
ruby-1.9.2-p290: 001> @p = Post.all.first
Я пытаюсь получить постлики этого объекта, вот выражение sql:
ВЫБРАТЬ likes
. * ОТ likes
ГДЕ likes
. type
IN ('Postlike') И likes
. post_id
= 310
Так что в основном вместо того, чтобы делать
postlikes.post_id
Rails 'делает
likes.post_id
Есть идеи, чтобы это исправить?