我有一个simple_form_for的问题, 如果我在表单中选择了多个号码,我会回滚,无法验证。
我有这个错误:
Processing by SudokusController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"Qafet...", "sudoku"=>{"number"=>"1, 2"}, "commit"=>"Submit"}
但在终端(轨道c)它的工作....
我无法解决这个问题:
_form.html.erb:
<%= simple_form_for @sudoku do |f| %>
<% (1..9).each do |x| %>
<div class="checkbox">
<label>
<input type="checkbox" name="sudoku[number][]" id="optionsCheckbox<%= x %>" value="<%= x %>" />
<%= x %>
</label>
</div>
<% end %>
<% end %>
sudoku.rb:
validates :number, presence: true
在数独控制器中:
def sudoku_params
params.require(:sudoku).permit(:number)
end
在我的数据库中
Sudoku(数字:字符串)
坦克为你提供帮助
答案 0 :(得分:0)
你的参数的"sudoku"=>{"number"=>"1, 2"}
行看起来不是一个复选框列表。问题可能在于您打印复选框HTML的方式。尝试将其更新为:
<input type="checkbox" name="sudoku[number][]" id="optionsRadios<%= x %>" value="<%= x %>" />
PS。有空格,字段名称已更改。
答案 1 :(得分:0)
我将控制器更改为:
def sudoku_params
params.require(:sudoku).permit(number:[])
end
我解决了我的问题
全部谢谢