2017-05-22 10 views
0

Companyのモデルには、DisclosureStatementが多数あります。has_many関係の複数のprimary_key

class Company < ActiveRecord::Base 
    has_many :disclosures 
    has_many :statements 
end 

DisclosureStatement両方date列を持っています。

def disclosures 
    Disclosure.where(date: date, company_id: company_id) 
end 

この作品の罰金:

そしてStatementは、このような方法があります。しかし、私はこの種の関係はhas_many表記で書くべきだと思います。しかし、私はhas_manyと複数のprimary_keyを使用する方法を見つけることができませんでした。

複数のプライマリキーを使用する方法はありますか?デフォルトのActiveRecordによって

答えて

0

複合キーをサポートしていますが、次のことができるようにする必要があり、次のレポを使用していません。その後

github.com/composite-primary-keys/composite_primary_keys

ます 以下の小さな例を使用できるはずです

require 'composite_primary_keys' 

class StringProperty < ActiveRecord::Base 
    self.primary_keys = :entity_id, :property_id 
    set_table_name "problem.string_property" 
    attr_accessible :entity_id, :property_id, :value 
end