rails тест контроллера rspec ActionController :: RoutingError - PullRequest
0 голосов
/ 24 сентября 2011

Мои маршруты выглядят так

  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, поэтому я думаю, что спецификация не работает.

Как передать спецификацию?

Спасибо

1 Ответ

0 голосов
/ 27 сентября 2011

Ошибка из-за того, что store_id не отправляется в индекс Tyos.Если бы я послал

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

, он бы прошел.

...