具有hstore属性的制造者

时间:2014-05-20 20:32:12

标签: ruby-on-rails rspec hstore fabrication-gem

我正在尝试使用'制造' 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属性的对象吗?

1 个答案:

答案 0 :(得分:2)

在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