has_and_belongs_to_many 협회를 통해 :has_many : 나는 루비 온 레일스 프로젝트에서 다음을 수행하려고
class FoodItem < ActiveRecord::Base
has_and_belongs_to_many :food_categories
has_many :places, :through => :food_categories
end
class FoodCategory < ActiveRecord::Base
has_and_belongs_to_many :food_items
belongs_to :place
end
class Place < ActiveRecord::Base
has_many :food_categories
has_many :food_items, :through => :food_category
end
을하지만 인스턴스 메서드 some_food_item.places
를 호출 나에게 다음과 같은 오류 제공 :
ActiveRecord::StatementInvalid: PGError: ERROR: column
food_categories.food_item_id does not exist
LINE 1: ...laces".id = "food_categories".place_id WHERE (("food_cate...
: SELECT "places".* FROM "places" INNER JOIN "food_categories" ON "places".id = "food_categories".place_id WHERE (("food_categories".food_item_id = 1))
을 어느 완벽한 의미가 있습니다 - FoodItem 및 FoodCategory의 HABTM 때문에 매핑 테이블이 food_categories_food_items
입니다.
테이블에서 food_item_id
을 찾는 대신 some_food_item.places
이 매핑 테이블을 통해 올바르게 표시되도록하려면 어떻게해야합니까?
확실히 도움이됩니다! 솔루션과 HABTM의 헤드 업 모두에게 감사드립니다. 이 솔루션을 적용 할 수있는 유일한 곳이 아닐 것이라고 확신합니다! –