我有一个不遵循 Rails 命名约定的项目,因为在特殊情况下不可能。
场景:我有一个名为 Foo 的模型,该模型的数据库表名为 example_foos。我有一个名为 Bar 的模型,该模型的数据库表名为 example_bars。
我想在这两个模型与模型 FooBar 之间创建一个:m 关联。此模型的数据库表名称为 ExampleFooExampleBars。
现在我的问题..如何在模型中指定 has_many throught 关联?如果我像往常一样做,我会收到错误,因为模型和表名不同..
我有一个不遵循 Rails 命名约定的项目,因为在特殊情况下不可能。
场景:我有一个名为 Foo 的模型,该模型的数据库表名为 example_foos。我有一个名为 Bar 的模型,该模型的数据库表名为 example_bars。
我想在这两个模型与模型 FooBar 之间创建一个:m 关联。此模型的数据库表名称为 ExampleFooExampleBars。
现在我的问题..如何在模型中指定 has_many throught 关联?如果我像往常一样做,我会收到错误,因为模型和表名不同..
关联是指类名,所以:
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
如果您的模型和表具有不同的名称,您可以
class Foo <ActiveRecord::Base
set_table_name "example_foos"
end
其余协会按照 Rails 公约方式