Has_Many: através e formbuilder.fields_for
-
24-09-2019 - |
Pergunta
Eu tenho uma aula Bar
Isso possui uma lista definida pelo usuário de chaves e valores de configuração, definidos assim:
class Bar < ActiveRecord::Base
has_many :config_keys, :through => Foo
has_many :config_values
end
Portanto, as teclas de configuração disponíveis vêm do Foo
classe e os valores para aqueles vêm do Bar
classe.
Estou criando um formulário para esta aula de bares e preciso fazer um loop sobre cada um dos campos em config_keys
usando o name
propriedade como rótulo, mas a caixa de texto deve ser para o value
do config_values
O que estou vendo é que se eu fizer
Eu pensei que f.fields_for
Em uma coleção, faria o loop para mim.
Estou abordando isso da maneira certa? Parece que estou realmente lutando contra a estrutura.
Solução
Acabei fazendo isso funcionar, mas a chave era não usar f.fields_for bar.config_keys ... em vez disso, garanto que existe um registro de valor para cada uma das chaves (em um antes_save no meu modelo) e eu faço a forma aninhada para a coleta de valores.
Ainda não sei por que o objeto do construtor de formulários era uma matriz.