Rails HABTM с полиморфными связями

У меня есть столCategory которые могут иметь многоBusinesses а такжеPosts, ИBusinessPost может иметь многоCategories поэтому я создал полиморфную таблицу под названиемCategoryRelationship разорвать отношения многих ко многим.

Business Модель имеет следующие отношения:

  has_many :categories, through: :category_relationships, :source => :category_relationshipable, :source_type => 'Business'
  has_many :category_relationships

CategoryRelationship Модель имеет следующие отношения:

 attr_accessible :category_id, :category_relationship_id, :category_relationship_type

  belongs_to :category_relationshipable, polymorphic: true
  belongs_to :business
  belongs_to :post
  belongs_to :category

Category имеет эти отношения:

has_many :category_relationships
  has_many :businesses, through: :category_relationships
  has_many :posts, through: :category_relationships

Post будет иметь такие же отношения, как.Business

Так что теперь, когда я бегуBusiness.first.categories Я получаю ошибку:

Business Load (6.1ms)  SELECT "businesses".* FROM "businesses" LIMIT 1
  Business Load (2.5ms)  SELECT "businesses".* FROM "businesses" INNER JOIN "category_relationships" ON "businesses"."id" = "category_relationships"."category_relationshipable_id" WHERE "category_relationships"."business_id" = 3 AND "category_relationships"."category_relationshipable_type" = 'Business'
ActiveRecord::StatementInvalid: PG::Error: ERROR:  column category_relationships.business_id does not exist
LINE 1: ...lationships"."category_relationshipable_id" WHERE "category_...
                                                             ^
: SELECT "businesses".* FROM "businesses" INNER JOIN "category_relationships" ON "businesses"."id" = "category_relationships"."category_relationshipable_id" WHERE "category_relationships"."business_id" = 3 AND "category_relationships"."category_relationshipable_type" = 'Business'

Как мне структурировать отношения, чтобы это работало?

Ответы на вопрос(1)

Ваш ответ на вопрос