Sinatraで複数のチェックボックスのうち選択されたものだけを処理
複数のチェックボックスのうち、選択されたものだけを処理する方法。
html
<input type="checkbox" name="id[]" value="1" checked /> 1 <input type="checkbox" name="id[]" value="2" /> 2 <input type="checkbox" name="id[]" value="3" checked /> 3
p params[:id] # => ["1","3"] params[:id].each do |i| p i # => "1" or "3" end
チェックボックスのnameはidでなくid[]と書くと選択されたチェックボックスのvalueが配列として格納される。
eachを使うと、選択されたチェックボックスのvalueがiに格納されるらしい。
params[:id][i]と書くと上記の場合うまく動作しなかった。