未定义的方法`键' for" {\"提示\" => \"你的名字是什么?\"}":String

时间:2015-10-03 23:06:19

标签: ruby-on-rails ruby-on-rails-4 functional-testing fixtures

我有一个序列化字段,我想在Rails 4中的功能测试中使用。

Fixtures将散列保存为字符串。

Step.rb
serialize :custom, ActiveRecord::Coders::NestedHstore

steps.yml
one:
  name: Simple example.
  custom:
    name:
      prompt: What is your name?

step.custom中,我想要哈希{name: {prompt: "What is your name?"}。在测试中,我得到一个字符串以及错误:

undefined method `keys' for "{\"prompt\"=>\"What is your name?\"}":String

这导致我的测试失败,因为我的代码库期待一个Hash。我试过了<%= hash.to_yaml.inspect %>,但这似乎无法奏效。

1 个答案:

答案 0 :(得分:0)

我会试试这个:

require "yaml"
new_hash = YAML.parse hash