rails rspec контролер тест ActionController::RoutingError

Моите маршрути изглеждат така

  resources :stores, :except => [:destroy] do
    resources :toys, :member => {:destroy => :delete}
  end

моята спецификация на контролера на обекти изглежда така

require 'spec_helper'

describe ToysController do

    describe "GET index" do
        it "assigns all toys as @toys" do
          toy11 = Factory(:toy, :is_shiny => true)
          toy12 = Factory(:toy,:is_shiny => false)
          get :index
          assigns(:toys).should eq([toy12,toy11 ])
        end
      end
    end
end

Получих следната грешка

 Failure/Error: get :index
 ActionController::RoutingError:
 No route matches {:controller=>"toys"}

Тъй като ресурсът за играчки е вложен под ресурси за магазини, той не може да получи маршрута toys_path, така че мисля, че спецификацията е неуспешна.

Как да премина спецификацията?

Благодаря


person Gagan    schedule 24.09.2011    source източник


Отговори (1)


Грешката се дължи на това, че не се изпраща store_id към tyos index. Ако бях изпратил

:store_id => @store.id in get :index

щеше да мине.

person Gagan    schedule 27.09.2011