simple_form がブール値フィールドに対して入力タグを 2 回生成するのはなぜですか (一方は非表示、もう一方は非表示)。
私のsimple_formには、これがあります:
<%= form.input :over_phone, as: :boolean, input_html: {checked: true} %>
これはこれを生成します:
<div class="control-group boolean optional order_over_phone">
<label class="boolean optional control-label" for="order_over_phone">Order over phone</label>
<div class="controls">
<input name="order[over_phone]" type="hidden" value="0">
<label class="checkbox">
<input checked="checked" class="boolean optional" id="order_over_phone" name="order[over_phone]" type="checkbox" value="1">
</label>
</div>
</div>
ご覧のとおり、一方の入力タグは値 0 で非表示になり、もう一方は値 1 で非表示になります。フォームを送信すると、post パラメータで両方の値を取得します。
order[over_phone]:0
order[over_phone]:1
このブール値フィールドに関連付けられたモデル作成でランダムな動作が発生するので、simple_form が原因なのだろうかと思います。これは、ブール値以外のフィールド タイプでは発生しません。
同様の問題に遭遇したことがある場合は、経験を共有してください。
私は simple_form 2.1.0 を使用しています。