%= form_with(model: nutrient_measurement) do |form| %>
<% if nutrient_measurement.errors.any? %>
<%= pluralize(nutrient_measurement.errors.count, "erreur") %> empêchent l’enregistrement :
<% nutrient_measurement.errors.full_messages.each do |msg| %>
- <%= msg %>
<% end %>
<% end %>
<%= form.label :measured_on, "Date du relevé", class: "form-label" %>
<%= form.date_field :measured_on, class: "form-control", required: true %>
Concentrations de nutriments — laisser vide si non mesuré
<% # You can reorganize into macros/micros if you prefer %>
<% labels = {
nno3: "Nitrate (N-NO₃)", p: "Phosphore (P)", k: "Potassium (K)",
ca: "Calcium (Ca)", mg: "Magnésium (Mg)", s: "Soufre (S)",
na: "Sodium (Na)", cl: "Chlore (Cl)", si: "Silicium (Si)",
fe: "Fer (Fe)", zn: "Zinc (Zn)", b: "Bore (B)",
mn: "Manganèse (Mn)", cu: "Cuivre (Cu)", mo: "Molybdène (Mo)",
nnh4: "Ammonium (N-NH₄)"
} %>
<% NutrientMeasurement::NUTRIENT_FIELDS.each do |field| %>
<%= form.number_field field,
class: "form-control",
placeholder: "—",
step: "0.01",
min: "0" %>
mg/L
<% end %>
<%= form.submit "Ajouter le relevé", class: "btn btn-primary" %>
<% end %>