以下の通りのform
にて、validation
等に失敗して、new
に戻ると、最初のnew
の時にはあった画像upload用のfile_field
が消えてしまいます。(写真ご参照ください)
controller
の記載に誤りがあるのでしょうか? 解決策わからず、お分かりの方、ご教示頂けますと助かります。
初回のnew
画面(ファイルを選択ボタンが3つあります)
newにredirectした際の画面(ファイルを選択ボタンが消えてしまいました)
ruby
1#controller 2 def new 3 @lesson = Lesson.new 4 t = 3 - @lesson.lesson_images.size.to_i 5 t.times{@lesson.lesson_images.build} 6 end 7 8 def create 9 @lesson = Lesson.new(lesson_params) 10 @lesson.adviser = current_user.adviser 11 if @lesson.save 12 redirect_to [current_user, :user_lessons] 13 else 14 flash.now.alert = '入力に誤りがあります。入力必須項目を確認して下さい。' 15 render "new" 16 end 17 end
ruby
1#form 2<div class="form-group"> 3 <div class="col-12 text-left mb-1"> 4 <div class="bg-danger text-white text-center"> 5 <small>レッスンの内容が分かる写真をアップロードしてください</small><br/> 6 <small>1番上の写真がTopに表示されます。</small> 7 </div> 8 </div> 9 </div> 10 <%= f.fields_for :lesson_images do |img|%> 11 <div class = "col-xs-12 text-xs-left"> 12 <% if img.object.lesson_image? %> 13 <%= image_tag img.object.lesson_image.url, class: 'lesson-img-edit' %> 14   <%= img.check_box :remove_lesson_image %>画像を削除する<br> 15 <% end %> 16 <%= img.label :lesson_image, "レッスン写真", class:"btn btn-danger disabled btn-sm", class: 'lesson-img-edit' %> 17 <%= img.file_field :lesson_image, class:"form-control-file", id:"exampleInputFile" %> 18 <hr> 19 </div> 20 <% end %>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。