如何在Rails 4中允许带散列的数组?
Rails 4中有以下参数:
{"delivery_time":"10","delivery_type_id":"1","order_items":[{"count":"5","item_id":"1"}],"order_status_id":"1","user_id":"1","action":"create","controller":"api/v1/orders"}
有以下强烈的参数:
params.permit(:user_id, :order_status_id, :delivery_type_id, :delivery_time, order_items:[])
但是这段代码返回没有’order_items’数组的哈希。 我认为原因是数组中的哈希。 请告诉我,我该如何解决? 提前致谢
您可以包含嵌套数组,例如它将是:
params.permit(:user_id, :order_status_id, :delivery_type_id, :delivery_time, order_items: [:count, :item_id])
其他人可以在这里找到更多 – http://edgeapi.rubyonrails.org/classes/ActionController/StrongParameters.html
如此处所述,您可以允许嵌套属性,如下所示。
params.permit(:user_id, :order_status_id, :delivery_type_id, :delivery_time, order_items_attributes:[:count, :item_id])
但是,请记住添加以下行以接受模型中的嵌套属性。 例如:
class Order < ActiveRecord::Base has_many :order_items accepts_nested_attributes_for :order_items end