我试图学习Rails,并且不确定处理复合键的Rails方式(或替代方法)。
假设我有一个国家/地区表 - 假设我使用ISO 3166-1代码,并选择Alpha2代码作为密钥。我认为Rails要做的就是调用id
,对吗?所以我有COUNTRIES =( id ,alpha3_code,numeric_code,name)
现在,每个国家/地区都可以有多个ISO 3166-2区域,因此我有REGIONS =( id , country_id ,名称)。我告诉rails,COUNTRIES has_many REGIONS和REGIONS属于__ COUNTRIES(到目前为止我是对的吗?当然除了大写之外。)区域ID在一个国家内是独一无二的,但不一定是全球性的,所以我需要复合键。
所以现在我有公司办公室,每个办公室都在特定区域。但是我只能指定一个带有[country,region]对的区域,而且我理解Rails不喜欢复合键。那么是 Rails组织这种方式的方式,因此,如果有办公室,我可以确定其地区和国家,并且给定一个国家可以找到该国家的所有州?
提前致谢。