Ruby on rails 如何在rails 4强参数中传递数组

Ruby on rails 如何在rails 4强参数中传递数组,ruby-on-rails,arrays,Ruby On Rails,Arrays,我必须在我的订单控制器中传递一组食物项目ID。每道菜都有很多食物。如何在强参数中以数组形式传递这些食物\u项\u id orders_controller.rb def create @order = Order.new(order_params) if @order.save render :json, @order, status:201, location: [:api, @order] else

我必须在我的订单控制器中传递一组食物项目ID。每道菜都有很多食物。如何在强参数中以数组形式传递这些食物\u项\u id

orders_controller.rb

def create  
        @order = Order.new(order_params)
        if @order.save
            render :json, @order, status:201, location: [:api, @order]
        else
            render :json, { errors: @order.errors }, status:422
        end
    end

private
  def order_params

    params.require(:order).permit(:customer_id, :order_id, :pos_id, :table_id, :order_number, 
          :order_status,:order_date, :food_item_id => [])
  end
end
这是以强参数发送数组的正确方法吗?根据文档:

允许的标量类型有字符串、符号、NilClass、数值、TrueClass、FalseClass、日期、时间、日期时间、StringIO、IO、ActionDispatch::Http::UploadedFile和Rack::Test::UploadedFile

要声明params中的值必须是允许的标量值数组,请将键映射到空数组:

如果它不工作,你可能有一个拼写错误。。。您已询问如何传递
食品项目\u id
,但您允许
:食品项目\u id=>[]
。因此,再次检查控制器中接收到的
参数
,您可能需要更改:

:food_items_id => []
简单的答案是什么

,这就是将数组传递给强参数的方式

值得注意的是,如果通过强参数传递数组,则必须在所有非数组参数之后引用它们。然而,在这种情况下,您已经在这样做了

:food_items_id => []