Budem stavať webovú aplikáciu pomocou Rails 4.2 a mám model nazvaný Strategy, ktorý má has_many vzťah k taktickému modelu.
Ak chcete vytvoriť pohľad na stratégiu, musím mať na formulári veľa vnořených taktiek. Používam klenot kokónu na vytvorenie tohto pohľadu.
Doteraz som dostal formu, aby fungovala správne z väčšej časti, ale problémom je, že som chcel pridať atribút Type do môjho Tactic modelu.
Pre danú stratégiu chcem mať 3 taktiky jedného daného typu a 2 modely druhého.
Problém spočíva v tom, že pri zobrazovaní môjho pohľadu sú všetky päť modelov uvedené postupne bez toho, aby museli mať okolo seba vlastný HTML kód.
Existuje jednoduchý spôsob, ako oddeliť, ktoré z nich sú vykreslené? Práve teraz môj názor vyzerá takto ...
<%= form_for @strategy do |f| %>
<div class="strategy">
<%= f.label :name %>
<%= f.text_field :name %>
</div>
<div class="tactics">
<%= f.fields_for :tactics do |i| %>
<%= render "tactics_fields", f: i %>
<% end %>
</div>
<div class="buttons">
<%= f.button "Save Strategy", class: "button" %>
</div>
<% end %>
Ak niekto môže ponúknuť nejakú radu, bolo by veľmi ocenené.
odpovede:
0 pre odpoveď č. 1Chcete, aby bol formulár vykreslený tak, aby každá stratégia obsahovala presne 5 taktík, z ktorých 3 sú z jedného typu a 2 sú od druhého?
Ak áno, môžete to urobiť vo svojom regulátore:
5.times do
tactic = @strategy.tactics.build
tactic.tactic_type = "tactic_type"
end
Tiež si všimnite, že pomocou atribútu nazvaného type
nie je dobrý nápad. Použite niečo podobné tactic_type
miesto.