Rails has_many通过使用非主键的辅助方法

时间:2015-11-05 17:48:41

标签: ruby-on-rails ruby-on-rails-4 activerecord has-many-through

http://apidock.com/rails/ActiveRecord/Associations/ClassMethods/has_many

Firm类声明has_many :clients,将添加:

Firm#client_ids
Firm#client_ids=

是否有办法更改关联,以便使用clients表中的非主键生成以下帮助程序。

Firm#client_uuids
Firm#client_uuids=

我的连接表使用UUID,has_many通过关系声明正确的主键和外键。但是这些辅助方法不会更新。

1 个答案:

答案 0 :(得分:0)

不。这里的命名是因为它是客户端的.id。如果你真的关心那个命名,你可以为方法添加别名。

恕我直言,使用名称属性_uuid通常很糟糕;它是UUID / GUID / Integer /等的事实。不应该在命名中反映出来+是一个实现细节。我仍然在使用我已经完成的模式,然后需要更改主键策略。