1

我有这个资源config/routes.rb

resources :users, :path => "u" do
 resources :boards, :controller => 'users/boards', :path => "collections"
end

在我的spec/routing/boards_routing_spec.rb我有:

require "spec_helper"

describe Users::BoardsController do
  describe "routing" do

    it "routes to #index" do
      get("/u/:user_id/collections").should route_to("users/boards#index")
    end

  end
end

我得到下一个错误:

Failures:

  1) Users::BoardsController routing routes to #index
     Failure/Error: get("/u/:user_id/collections").should route_to("users/boards#index")
       The recognized options <{"action"=>"index", "controller"=>"users/boards", "user_id"=>":user_id"}> did not match <{"controller"=>"users/boards", "action"=>"index"}>, difference: <{"user_id"=>":user_id"}>.
       <{"controller"=>"users/boards", "action"=>"index"}> expected but was
       <{"action"=>"index", "controller"=>"users/boards", "user_id"=>":user_id"}>.
     # ./spec/routing/boards_routing_spec.rb:7:in `block (3 levels) in <top (required)>'

我正在为用户使用 Devise 2.0。

我该如何解决这个错误?

4

1 回答 1

2

错误已修复:

require "spec_helper"

describe Users::BoardsController do
  describe "routing" do

    it "routes to #index" do
      get("/u/hyperrjas/collections").should route_to("users/boards#index", :user_id => "hyperrjas")
    end
end
于 2012-07-14T11:27:50.917 回答