View raw

1 <%= form_with(model: nutrient_measurement) do |form| %> 2 <% if nutrient_measurement.errors.any? %> 3 <div class="alert alert-danger"> 4 <p class="mb-1"><strong><%= pluralize(nutrient_measurement.errors.count, "erreur") %></strong> empêchent l’enregistrement :</p> 5 <ul class="mb-0"> 6 <% nutrient_measurement.errors.full_messages.each do |msg| %> 7 <li><%= msg %></li> 8 <% end %> 9 </ul> 10 </div> 11 <% end %> 12 13 <div class="mb-3"> 14 <%= form.label :measured_on, "Date du relevé", class: "form-label" %> 15 <%= form.date_field :measured_on, class: "form-control", required: true %> 16 </div> 17 18 <h2 class="h6 mt-4 mb-2">Concentrations de nutriments — laisser vide si non mesuré</h2> 19 20 <div class="row g-2"> 21 <% # You can reorganize into macros/micros if you prefer %> 22 <% labels = { 23 nno3: "Nitrate (N-NO₃)", p: "Phosphore (P)", k: "Potassium (K)", 24 ca: "Calcium (Ca)", mg: "Magnésium (Mg)", s: "Soufre (S)", 25 na: "Sodium (Na)", cl: "Chlore (Cl)", si: "Silicium (Si)", 26 fe: "Fer (Fe)", zn: "Zinc (Zn)", b: "Bore (B)", 27 mn: "Manganèse (Mn)", cu: "Cuivre (Cu)", mo: "Molybdène (Mo)", 28 nnh4: "Ammonium (N-NH₄)" 29 } %> 30 31 <% NutrientMeasurement::NUTRIENT_FIELDS.each do |field| %> 32 <div class="col-6 col-md-3"> 33 <div class="input-group"> 34 <%= form.number_field field, 35 class: "form-control", 36 placeholder: "—", 37 step: "0.01", 38 min: "0" %> 39 <span class="input-group-text">mg/L</span> 40 </div> 41 <label class="form-label d-block small text-muted mt-1"><%= labels[field] %></label> 42 </div> 43 <% end %> 44 </div> 45 46 <div> 47 <%= form.submit "Ajouter le relevé", class: "btn btn-primary" %> 48 </div> 49 <% end %> 50