производитель с атрибутом hstore

Я пытаюсь создать производителя, используя «изготовление», «2.8.1» с атрибутом hstore.

Fabricator(:inventory_item_change) do
  attribute_changes Hash.new("num_units" => "to:50")
  state "scheduled"
  change_code 1
  execution_at Time.now.advance(days: 3)
  inventory_item
end

Это сообщение об ошибке, которое я получаю при выполнении тестов с этим производителем. Я выделил проблему в атрибуте hstore:изменения атрибута.

 Failure/Error: attr = Fabricate.attributes_for(:inventory_item_change)
 ArgumentError:
   bad value for range

Может ли кто-нибудь помочь определить правильный синтаксис или другое подходящее решение для создания объектов с атрибутами hstore?


person AnthonyMete    schedule 20.05.2014    source источник


Ответы (1)


взгляните на следующую проблему на github:
https://github.com/paulelliott/fabrication/issues/202

Кажется, что вы не можете напрямую передать хэш, поскольку он затем обрабатывается как аргумент параметров.

Правильный синтаксис для вас будет:

Fabricator(:inventory_item_change) do
 attribute_changes do
    { "num_units" => "to:50"}
 end
 state "scheduled"
 change_code 1
 execution_at Time.now.advance(days: 3)
 inventory_item
end
person Farid    schedule 20.05.2014