module RecipesHelper def commercial_name_for(component) # Try to find a FertilizerProduct via a join, but gracefully fallback. if defined?(FertilizerProduct) && defined?(FertilizerComposition) prod = FertilizerProduct.joins(:fertilizer_compositions) .where(fertilizer_compositions: { fertilizer_component_id: component.id }) .first return prod.name if prod&.name.present? end component.name.presence || component.formula end def fmt_kg(v) number_with_precision(v.to_f, precision: 2, strip_insignificant_zeros: true) end end