値の編集機能において、バリデーションを設定し、成功した時は、flashメッセージがでて、問題なくリダイレクトできていますが、バリデーションに弾かれて時にrenderせず、flashもでない状態です。
例えば、食う
rb
1#score.rb (model) 2class Score < ApplicationRecord 3 belongs_to :user, optional: true 4 validates :hole_score, presence: true, numericality: { only_integer: true } 5end
rb
1#archives_controller.rb 2 def update 3 @score = Score.find_by(round_id: params[:round_id], hole_number: params[:hole_number]) 4 if @score.update(hole_score: params[:hoge]) 5 flash[:edit_success] = 'スコアが編集されました' 6 redirect_to score_card_path 7 else 8 flash.now[:danger] = 'スコアが編集されませんでした' 9 render archives/show 10 end 11 end
rb
1#_flash.scores.html.erb 2<% flash.each do |message_type, message| %> 3 <div><%= message %></div> 4<% end %>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。