我有一个使用belongs_to
关系的模型。我希望能够同时指定foreign_key
和association_foreign_key
值。但是,我只能指定foreign_key
关系的belongs_to
值(http://guides.rubyonrails.org/association_basics.html#belongs-to-association-reference)有没有办法解决这个问题?
以下是我的例子:
我有一个客户端模型。其location_id
密钥必须属于Region模型,其中id由place_id
引用。我想做的是:
class ClientId < ActiveRecord::Base
belongs_to :region, foreign_key: 'location_id', association_foreign_key: 'place_id'
但是,我无法在此处指定association_foreign_key
...
答案 0 :(得分:1)
不需要在同一模型中双向声明关联。你必须声明: 其他相关模型中有has_one / many。
class Client < ActiveRecord::Base
belongs_to :region, foreign_key: 'location_id'
class Region < ActiveRecord::Base
has_many :clients, foreign_key: 'place_id'