Help us understand the problem. What is going on with this article?

Ruby on Rails ビューで検証エラーに対応する

ビューで検証エラーに対応する

登録画面のフォーム部分が次のようになっている場合

app/views/tasks/_form.html.slim
= form_with model: task, local: true do |f|
  .form-group
    = f.label :name
    = f.text_field :name, class: 'form-control', id: 'task_name'
  .form-group
    = f.label :description
    = f.text_area :description, rows: 5, class: 'form-control', id: 'task_description'
    = f.submit nil, class: 'btn btn-primary'

ここにはまだ検証エラーメッセージを表示する部分がない。
form_withの上に、エラーメッセージを表示するための領域を作りたいので次のように編集。

app/views/tasks/_form.html.slim
- if task.errors.present?
  ul#error_explanation
    - task.errors.full_messages.each do |message|
      li = message

= form_with ...

上記のコードは、errors_present?を使って検証エラーの有無を調べエラーがある時にエラーメッセージを表示するようにしている。

crunchtimer
私たちのミッションは、「テクノロジーを通じて人々の人生を本質的に豊かにする」ことです。 インターネットの世界観が大好きな創業メンバーで構成された会社で、テクノロジーの可能性を信じているとともに、何か人々の人生を変えるような本質的豊かさを追求していきたいと考えています。
https://www.wantedly.com/companies/crunchtimer
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away