0

我有一個不遵循rails命名約定的項目,因爲它不適用於特殊情況。rails n:m如何在db表名不同時使用rails關聯

場景: 我有一個叫做Foo的模型,這個模型的數據庫表叫做example_foos。 我有一個名爲Bar的模型,並且此模型的數據庫表名爲example_bars。

我想創建這兩個模型與模型FooBar之間的n:m關聯。這個模型的數據庫表名是ExampleFooExampleBars。

現在我的問題..如何在模型中指定has_many throught關聯? 如果我這樣做很正常,我得到的錯誤,因爲模型和表名是不同的..

+0

請出示當前獲取錯誤的代碼。 –

回答

1

的關聯是指類名,所以:

class Foo < ActiveRecord::Base 
    set_table_name 'example_foos' 
    has_many :bars 
end 

class Bar < ActiveRecord::Base 
    set_table_name 'example_bars' 
    belongs_to :foo 
end 
0

如果你的模型,並表有不同的名稱,你可以

class Foo <ActiveRecord::Base 
    set_table_name "example_foos" 
end 

休息協會按Rails約定的方式