0

由于散列上的序列,我遇到了实际与预期失败的问题。我不记得以前见过这个......无论如何我认为哈希是无序的?

我怎样才能通过这个测试?

RSpec.describe ArticleSectionsController, type: :routing do
  describe "routing" do

    it "routes to #index" do
      expect(:get => "/articles/5/article_sections").to route_to("article_sections#index", article_id: 5)
    end
  end
end
  1) ArticleSectionsController routing routes to #index
     Failure/Error: expect(:get => "/articles/5/article_sections").to route_to("article_sections#index", article_id: 5)

       The recognized options <{"controller"=>"article_sections", "action"=>"index", "article_id"=>"5"}> did not match <{"article_id"=>5, "controller"=>"article_sections", "action"=>"index"}>, difference:.
       --- expected
       +++ actual
       @@ -1 +1 @@
        -{"article_id"=>5, "controller"=>"article_sections", "action"=>"index"}
       +{"controller"=>"article_sections", "action"=>"index", "article_id"=>"5"}
4

1 回答 1

3

问题不在于哈希的顺序,而在于内容。

"article_id"=>"5"

不一样

"article_id"=> 5

在您的参数中使用字符串版本,route_to这将解决问题。

于 2017-05-02T14:34:11.063 回答