Ruby on rails ActionController::BadRequest(无效的请求参数:param`columns';的预期数组(Get Rack::QueryParser::Params))

Ruby on rails ActionController::BadRequest(无效的请求参数:param`columns';的预期数组(Get Rack::QueryParser::Params)),ruby-on-rails,forms,haml,Ruby On Rails,Forms,Haml,我希望用户能够通过select标记勾选列并选择各种格式。这就是它看起来的样子 然而,当我提交表单时,我发现了这个错误,我似乎无法找出错误所在 = form_tag table_update_columns_path(table), :method => :post do %table.table.table-hover.table-striped.table-bordered.data-table{:style => "width: 600px;"} %tr

我希望用户能够通过select标记勾选列并选择各种格式。这就是它看起来的样子 然而,当我提交表单时,我发现了这个错误,我似乎无法找出错误所在

= form_tag table_update_columns_path(table), :method => :post do
%table.table.table-hover.table-striped.table-bordered.data-table{:style => "width: 600px;"}
    %tr
        %th Column
        %th Data Type
        %th Format
    - table.get_columns.each do |k,v|
        %tr
            %td.createOrQueryColumns
                = hidden_field_tag "table[columns][#{k}]", "false"
                %span= check_box_tag "table[columns][#{k}]", "true", (v == "true" ? true : false)
                %h6= k
            %td
                = hidden_field_tag "table[data_types][#{k}]", ""
                - if table.data_types.nil?
                    = select_tag "table[data_types][#{k}]", options_for_select(Table.data_types), { :class => 'form-control input-sm' }
                -else
                    = select_tag "table[data_types][#{k}]", options_for_select(Table.data_types, table.data_types[k]), { :class => 'form-control input-sm' }
            %td
                = hidden_field_tag "table[formats][#{k}]", ""
                - if table.formats.nil?
                    = select_tag "table[formats][#{k}]", options_for_select(Table.formats), { :class => 'form-control input-sm' }
                -else
                    = select_tag "table[formats][#{k}]", options_for_select(Table.formats, table.formats[k]), { :class => 'form-control input-sm' }
= submit_tag "Save", :class => "btn form-control btn-primary"

看起来您需要使用在表单中为设置的
f
。你应该做
f.hidden\u field\u tag或check\u box\u tag等操作,而不是隐藏\u field\u tag或check\u box\u tag。我尝试将所有内容更改为form\u tag,但仍然会出现相同的错误,updated post