Associação com múltiplas foreign keys

Tenho a seguinte situação no meu sistema:

Classe PriceTable

has_many :itens, :foreign_key => 'company_id', :class_name => 'Sfa::PriceTableItem', :inverse_of => :company
has_many :itens, :foreign_key => 'price_table_id', :class_name => 'Sfa::PriceTableItem', :inverse_of => :price_table

e a classe PriceTableItem

belongs_to :company
belongs_to :price_table, :inverse_of => :itens

Até aí tudo certo, funciona certinho. No meu form uso

f.fields_for :itens do |ff|
#restante do codigo aqui

Uso nested_form, a adição de novos itens funciona normalmente, porém quando edito ou excluo algum item, ele simplesmente não atualiza o registro, mas não dá erro.
Quando uso uma associação que tenha apenas uma foreign key, funciona normalmente.
Alguém já passou por isso ou tem alguma luz osobre o problema?

Olha, em teoria isto não deveria funcionar mesmo.
usar duas FKs para a mesma propriedade é estranho e não parece fazer muito sentido, eu acharia estranho se funcionasse.

Mas se você puder fazer isto sem as FKs pode usar polymorphic associations para apontar para os dois objetos, ai o nested_form deve funcionar …

[quote=urubatan]Olha, em teoria isto não deveria funcionar mesmo.
usar duas FKs para a mesma propriedade é estranho e não parece fazer muito sentido, eu acharia estranho se funcionasse.

Mas se você puder fazer isto sem as FKs pode usar polymorphic associations para apontar para os dois objetos, ai o nested_form deve funcionar …[/quote]

Estudei um pouco sobre associações polimórficas e não consegui encontrar onde encaixar no meu caso. Poderia me dar um exemplo de como usar no caso apresentado?

Como eu disse, não é o mesmo caso, ou tu cria duas associações com estas duas FKs, ou tu cria uma associação polymorfica sem nenhuma FK
cria um campo item_id e outro item_type para a associação polimorfica

[quote=urubatan]Como eu disse, não é o mesmo caso, ou tu cria duas associações com estas duas FKs, ou tu cria uma associação polymorfica sem nenhuma FK
cria um campo item_id e outro item_type para a associação polimorfica[/quote]

Não consegui captar sua solução!
Na verdade precisava que minha associação se restringisse a dois campos, e não a apenas um. Como no exemplo, preciso da price_table_id e da company_id

ai tu já ta falando outra coisa, tu mapeou duas coisas como itens e queria fazer isto funcionar.

descreva exatamente o que você precisa que tento ajudar.

[quote=urubatan]ai tu já ta falando outra coisa, tu mapeou duas coisas como itens e queria fazer isto funcionar.

descreva exatamente o que você precisa que tento ajudar.[/quote]

Meu model PriceTable tem os campos company_id e id, meu model PriceTableItem possui os campos company_id, price_table_id entre outros.
Gostaria que na associação ele não considerasse apenas o price_table_id, e sim também o company_id, para evitar um join a mais quando precisar de todos itens de tabela de uma determinada company. Ficou claro?