0

我有一个不遵循 Rails 命名约定的项目,因为在特殊情况下不可能。

场景:我有一个名为 Foo 的模型,该模型的数据库表名为 example_foos。我有一个名为 Bar 的模型,该模型的数据库表名为 example_bars。

我想在这两个模型与模型 FooBar 之间创建一个:m 关联。此模型的数据库表名称为 ExampleFooExampleBars。

现在我的问题..如何在模型中指定 has_many throught 关联?如果我像往常一样做,我会收到错误,因为模型和表名不同..

4

2 回答 2

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
于 2012-05-21T20:25:31.403 回答
0

如果您的模型和表具有不同的名称,您可以

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

其余协会按照 Rails 公约方式

于 2012-05-21T20:25:03.307 回答