Ruby on Railsの初心者です。
form_forのf.check_boxへ何もチェックが入っていない状態でf.submitにて送信した時、
validationが有効にならず、空の値がテーブルへ保存されてしまいます。
空値が保存されているのでエラーも出ない為、困っています。
御教授して頂けますと幸いです。
よろしくお願い致します。
前提・実現したいこと
チェックボックスに何もチェックが入っていない時に、validationを実現したい。
「ご飯サイズ選択→注文する→注文完了」
該当のソースコード
View
1<div class="rice-size"><b>ご飯の大きさ</b></div> 2 <%= form_for @order_detail, url: order_details_path do |f| %> 3 <div class="rice-btn"> 4 <div class="rice-detail"> 5 <div><%= f.check_box :rice_size,{},"小","false" %>小</div> 6 </div> 7 <div class="submit"> 8 <div><%= f.submit "注文する", class: "btn" %></div> 9 </div> 10 <% end %>
Controller
1class OrderDetailsController < ApplicationController 2 3 def new 4 @bento = Bento.find_by(id: 1) 5 @order_detail = OrderDetail.new 6 end 7 8 def create 9 OrderDetail.create(create_params) 10 end 11 12 private 13 def create_params 14 params.require(:order_detail).permit(:rice_size) 15 end 16 17end
Model
1class OrderDetail < ApplicationRecord 2 3 validates :rice_size, presence: true 4 5end 6