¿Cómo publicar valores de matriz a través de curl?

Me gusta probar un backend API que está diseñado como se muestra en el siguiente ejemplo:

http://localhost:3000/api/v1/shops/1.json

La respuesta de JSON:

{
  id: 1,
  name: "Supermarket",
  products: [
    "fruit",
    "eggs"
  ]
}

Aquí está el modelo correspondiente:

# app/models/shop.rb
class Shop < ActiveRecord::Base
  extend Enumerize
  attr_accessible :name, :products

  serialize :products, Array
  enumerize :products, in: %w{fruit meat eggs}, multiple: true

  resourcify

  validates :name, presence: true, length: { in: 5..50 }    
  validates :products, presence: true
end

Quiero usarrizo para probar la creación y actualización de una entrada. Por lo tanto, yo uso los siguientes comandos:

Crear:

$ curl -X POST http://localhost:3000/api/v1/shops.json -d \
  "shop[name]=Supermarket&shop[products]=fruit,eggs&auth_token=a1b2c3d4"

Actualizar:

$ curl -X PUT http://localhost:3000/api/v1/shops/1.json -d \
  "shop[name]=Supermarket&&shop[products]=fruit,eggs&auth_token=a1b2c3d4"

El valor paraproducts necesita ser enviado como una matriz. Cuando ejecuto los comandos anteriores se devuelve el siguiente mensaje:

{"errors":{"products":["is invalid"]}

¿Cómo necesito escribir los valores de laproducts matriz por lo que funciona conrizo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta