0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

2019/08/23 'field_with_errors'

Last updated at Posted at 2019-08-23

学習記録(2019/08/23)

起こったこと

グループでチャットができるアプリを実装中にこんなことが起こりました。

前提

  • メッセージの送信機能を実装中
  • フロント実装には「rails」、入力フォームにはform_forを使用
  • Modelには、空欄での投稿ができないように、validation presence: trueを設定
  • validationでメッセージが保存できないときは、入力画面render :indexに戻るように設定

事象

検証のため、「空欄で投稿する」 → 「renderでindexに戻る」 を確認したところ、入力欄のレイアウトがおかしくなった。

↓実際の画面↓

これが...
b5e195cc.png

こうなった!

dac34ccb.png

状況確認

render後のhtmlに<div>が追加されてました。  
(勝手に変えるときは、教えてよー)

↓実際の画面↓
スクリーンショット 2019-08-23 22.07.40.jpg

解決方法

configにあるapplication.rbに以下を追加しました。

ruby.application.rb
class Application < Rails::Application
(中略)
  config.action_view.field_error_proc = Proc.new do |html_tag, instance|
    %Q(#{html_tag}).html_safe
  end
end
  • なぜ'field_with_errors'が追加されるか?
  • 'Proc'って一体なんのか?

といった点は、後日調査したいと思います。

参考

(参考にさせていただきました!ありがとうございます!)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?