我跟隨this tutorial這是工作出色has_many:通過關係。我擁有像category_product一樣的正常工作。與ActiveRecord相同模型的多對多關聯?
但是,我不能概念化這種情況(也沒有得到它的工作):我有一個具有相關類別的類別。由於每個類別都可以有N個類別......首先,這實際上是多對多的情況(我相當肯定)。其次,這是什麼樣子?我的遷移是這樣的:
create_table :categories do |t|
t.string :name
t.timestamps
end
create_table :related_categories, :id => false do |t|
t.integer :category_a_id
t.integer :category_b_id
end
和我的模型的膽量
has_many :related_categories, :foreign_key=>"category_a_id"
has_many :categories, :through => :related_categories, :source=>:category_a
這顯然是不正確的,雖然它到達那裏(即,它是100%碎米)。我怎樣才能做到這一點?
編輯:我忘了這一點,但這裏只對SO(這意味着它不是問題的答案):
class RelatedCategory < ActiveRecord::Base
belongs_to :category_a, :class_name=>"Category"
belongs_to :category_b, :class_name=>"Category"
end
+1謝謝。這並沒有做到,但我開始重新審視整個關係。當我使用CategoryA時,它確實起作用,它從來沒有得到關係的另一面。我將運行一些更多的測試。 – 2009-06-18 22:44:16