Io di solito uso questo passaggio per impostare i record con factory_girl:Qual è la procedura migliore per creare associazioni con factory_girl nel cetriolo?
Given /^the following (.+) records?:$/ do |factory, table|
table.hashes.each do |hash|
Factory(factory, hash)
end
end
Ed ecco il mio lavoro-in giro quando la creazione di associazioni:
Given the following group record:
| id | name |
| 1 | foo |
And the following item records:
| name | group_id |
| bar | 1 |
| baz | 1 |
# ...
So che questo è un male. L'uso degli id rende l'intera cosa fragile e criptica dal punto di vista della persona del dominio.
Quindi, la mia domanda è: quale sarebbe la migliore pratica per creare un'associazione con factory_girl e un argomento di tabella come quello sopra?
Il trucco qui è che group.items dovrebbe restituire un array. Mi ci è voluto un po 'per risolverlo. – jonnii
Sì, questo non è facile da capire (ma vedere come funziona, è logico) –
Hai capito. Ma c'è un modo per avvolgere un passaggio di cetriolo con un parametro di tabella (come quello nel mio post) in una fabbrica simile? Forse, dovrei solo prendere un approccio pragmatico ed essere dettagliato e specifico nel passo ("Dato che ho due elementi, foo e bar, che appartengono a un gruppo chiamato foo") invece di armeggiare con le tabelle, ma suona un po ' come un anti-modello per me? –