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
[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?