Самый простой способ сохранить два отношения has_many с одной моделью в Rails? - PullRequest
0 голосов
/ 17 марта 2012

A 'user имеет много posts, а product имеет много posts, и любой данный post может принадлежать либо user, либо product, но не обоим.

Я думаю, что отношение has_many :through, хранящееся в таблице posts_relationships и записанное в виде:

Class User < ActiveRecord::Base
has_many :posts, :through => posts_relationships

и

Class Product < ActiveRecord::Base
has_many :posts, :through => posts_relationships

, выразит то, что мне нужно. Это правильный и самый простой способ сделать это? Это не сложные отношения, поэтому я хочу написать это как можно проще.

1 Ответ

2 голосов
/ 17 марта 2012

считают полиморфную ассоциацию.

Class User < ActiveRecord::Base
  has_many :posts, :as=>:postings
end

Class Product < ActiveRecord::Base
  has_many :posts, :as=>:postings
end

class Post
  belongs_to :posting, :polymorphic=> :true
end
...