Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rspec:使用rails中的to_json方法扩充散列 我正在把红宝石的一部分重构成一块红宝石宝石。作为过程的一部分,我必须将一些测试用例转移到gem上_Ruby On Rails_Ruby_Rspec_Ruby On Rails 3.2_Rspec Rails - Fatal编程技术网

Ruby on rails rspec:使用rails中的to_json方法扩充散列 我正在把红宝石的一部分重构成一块红宝石宝石。作为过程的一部分,我必须将一些测试用例转移到gem上

Ruby on rails rspec:使用rails中的to_json方法扩充散列 我正在把红宝石的一部分重构成一块红宝石宝石。作为过程的一部分,我必须将一些测试用例转移到gem上,ruby-on-rails,ruby,rspec,ruby-on-rails-3.2,rspec-rails,Ruby On Rails,Ruby,Rspec,Ruby On Rails 3.2,Rspec Rails,对于其中一项测试: describe A::B do describe "#someMethod" do let(:user_hash) { {'id' => 3, "username" => "user", "email" => "email@some.domain"} } it "return the base64 message" do described_class.message(user_hash).should ==

对于其中一项测试:

describe A::B do
  describe "#someMethod" do
    let(:user_hash) { {'id' => 3, "username" => "user", "email" => "email@some.domain"} }
      it "return the base64 message" do
        described_class.message(user_hash).should ==
          Base64.encode64(user_hash.to_json).gsub("\n", "")
      end
问题是,普通哈希没有
to_json
方法,所以我在运行测试时不断得到
NoMethodError
to_json
方法似乎是从
activeresource
()派生出来的。现在我如何使用
to_json
方法来扩充散列

谢谢。

当您遇到问题时,表示您没有加载所需的库。在您的测试用例中添加
需要“json”
,您需要使用
方法来实现json

在评论中回答您的问题:

你知道有什么方法可以找出这些方法的真正来源吗?我正在使用RubyMine来找出答案,它给了我这个可能实现的完整列表


真的,当你在寻找未知的功能时,搜索引擎会帮你解围。可能不是一个吸引人的答案,但这就是我学习的方式:)在写这个答案时,我做到了,第一个结果就是你的问题的答案。

在顶部添加
要求使用“json”
。嗨,vinodadhikary,这很有效!将其作为答案正式发布?你知道有什么方法可以找出这些方法的真正来源吗?我正在使用RubyMine来找出答案,它给了我这个可能实现的完整列表,请看我的答案。我试着在你的评论中回答你的问题。哈哈,我明白了。。。看来我的谷歌搜索能力可以提高。谢谢你的帮助!如果使用vim和Ctags,可以将光标放在方法名称上,然后按以跟随标记进入源代码。