前提・実現したいこと
Railsのform_with内でradio_buttonを2個用いて、支払い方法を選択するように設計しました。バリデーションエラーがあった場合に通常のフォーム同様、入力情報を保持してrenderで描画させたいのですが、radio_buttonのみ入力した値が反映されません(つまり、選択状態になりません)。
なお以下のコードにて、binding.pryで:paymentに値("1"など)が入っていることは確認いたしました。
どなたか教えてくださいませ。
該当のソースコード
view
1<%= form_with model: @order, url: orders_confirm_path, local:true, method: :post, class:"form-horizontal" do |f| %> 2 <label><strong>支払い方法</strong></label> 3 <%= f.radio_button :payment, 0, class:"form-control" %><label>クレジットカード</label> 4 <%= f.radio_button :payment, 1, class:"form-control" %><label>銀行振込</label> 5<% end %> 6
controller
1@order = Order.new 2if !params[:order][:payment].nil? 3 @order.payment = params[:order][:payment].to_i 4end 5 6render :new
試したこと
ifで分岐させるというのも思いついたのですが、form_withを使っている手前、他のフォームと同じようにできないか知りたいです。
controller省略しすぎ
あなたの回答
tips
プレビュー