_form.html.erb 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <%= form_with(model: product, class: "contents") do |form| %>
  2. <% if product.errors.any? %>
  3. <div id="error_explanation" class="bg-red-50 text-red-500 px-3 py-2 font-medium rounded-md mt-3">
  4. <h2><%= pluralize(product.errors.count, "error") %> prohibited this product from being saved:</h2>
  5. <ul class="list-disc ml-6">
  6. <% product.errors.each do |error| %>
  7. <li><%= error.full_message %></li>
  8. <% end %>
  9. </ul>
  10. </div>
  11. <% end %>
  12. <div class="my-5">
  13. <%= form.label :title %>
  14. <%= form.text_field :title, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": product.errors[:title].none?, "border-red-400 focus:outline-red-600": product.errors[:title].any?}] %>
  15. </div>
  16. <div class="my-5">
  17. <%= form.label :description %>
  18. <%= form.textarea :description, rows: 10, class:
  19. ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full",
  20. {"border-gray-400 focus:outline-blue-600":
  21. product.errors[:description].none?,
  22. "border-red-400 focus:outline-red-600":
  23. product.errors[:description].any?}] %>
  24. </div>
  25. <div class="my-5">
  26. <%= form.label :image %>
  27. <%= form.file_field :image, accept: "image/*", class:
  28. ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full",
  29. {"border-gray-400 focus:outline-blue-600": product.errors[:image].none?,
  30. "border-red-400 focus:outline-red-600": product.errors[:image].any?}] %>
  31. </div>
  32. <div class="my-5">
  33. <%= form.label :price %>
  34. <%= form.text_field :price, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": product.errors[:price].none?, "border-red-400 focus:outline-red-600": product.errors[:price].any?}] %>
  35. </div>
  36. <div class="inline">
  37. <%= form.submit class: "w-full sm:w-auto rounded-md px-3.5 py-2.5 bg-blue-600 hover:bg-blue-500 text-white inline-block font-medium cursor-pointer" %>
  38. </div>
  39. <% end %>