(自分用メモ)詳細 スクール課題1 タスクアプリ作成 flash警告文が常に表示される
<結論>
Flash警告文を誤ったメソッドに記載。そもそも記載しなくて良かった。
そら常に出るわな笑
<以下本文>
課題1スケジュールアプリ new.htmlにおいてflash警告文が常に表示される
質問ボックス検索しましたが、有用な質問が見受けられなかった為、
恐縮ながらこの場にて質問させて頂きたく、ご助言の程、よろしくお願いします。
■現状
課題1スケジュールアプリにおいて、newページにてflashメッセが常に表されています。
実装のため
上記参考の上、以下実施しましたが、不具合が発生し、解決できずにいます。
・コントローラへの記入
・new.html.erb作成
その後、new.html.erbページへ行くと以下のような画面へ
成功も失敗もしていない通常時に下記不具合のflash文が表示される
コントローラのdef newのところで分岐がうまくいっていないと予想しましたが
s下調べましたが、具体的にどう書けばいいのかわからないので、質問させて頂きました。
■実際に出ている不具合
new.html記入欄へ記入する前からこの状態です
コントローラ
new.html
■やりたいこと
不具合を解決し、モデルサイトの様にフラッシュが正常に出る様にしたい
■環境
M1チップ
ventura ver13.0
rails704
ruby304
■既に試したこと、参考にしたページ
■git
<回答>
ユーザー画像
川崎(メンター)
2022/11/6 14:43
flashは基本的に次のページへredirectしたときに表示されます。
renderするときはflashの書き方を変更する必要があります。
こちらの記事を参考にしていただければと思います。
ユーザー画像
長井宏樹
2022/11/6 17:11
川崎様
ご回答有り難うございます。
頂いた記事を参考に
記事内の文章の4点目に該当させる為、コントローラー 11行目に.now追記しました。
が、状況変わらずでした。
それぞれの組み合わせ
flash[]とredirect_to => 次のページにリダイレクトした時点でflashは消える
flash[]とrender => renderはリクエストを送信しないため、次のページに移動してもflashは残る
flash.now[]とredirect_to => redirect_toの時点でflashが消えるため、flash自体表示されない
flash.now[]とrender => 次のページへリダイレクトした時点でflashは消える
そもそも、コントローラーのdef newに追記するという認識ですが、合ってますでしょうkあ?
頂いたリンクにてpostページからnewページへ移ると解釈すると、def createの定義も修正する必要があるのでしょうか?
参考:自分で調べたページ
ユーザー画像
ちだ (メンター)
2022/11/6 18:39
お世話になっております。
状況確認いたしました。
そもそもの確認ですが、newメソッドに遷移した時、flashを表示する必要はありますか?
流れ的には下記だと思います。
①一覧画面表示 posts index
②一覧画面から新規作成ボタンを押下 posts new (ここでflashを表示する必要は?)
③新規作成初期画面から作成ボタンを押下 posts create (ここでDB操作が入るため、flashは必須)
newメソッドでflashの表示分けを行うif文が定義されていますが、そもそもif文やflashの定義自体が不要なのではと思いました。
お手数ですが、ご確認をお願いいたします!
ユーザー画像
長井宏樹
2022/11/6 19:48
メンターちだ様
ご回答有り難うございます
そもそもdef newに追記せずとも良かったようです。
正確な手順を理解していなかった故のミスでした。
ご指摘有り難うございました
Discussion