Довольно простая проблема (я бы подумал), но у меня есть некоторые проблемы:
В Rails 3.1.0.rc6 / RSpec 2.6.0 я пытаюсь проверить маршрутизацию ресурса моих «продуктов», маршрутизируемого так:
resources :products, :except => [:edit, :update]
Маршрутизация для допустимых действий работает, но я хочу убедиться, что маршруты редактирования и обновления не могут быть вызваны. Вот что я пытаюсь:
it "does not route to #edit" do
lambda { get("/products/1/edit") }.should raise_error
end
Сбой / Ошибка: lambda {get ("/ products / 1 / edit")} .should поднять_error
ожидаемое исключение, но ничего не было поднято
# ./spec/routing/products_routing_spec.rb:11:in `блок (3 уровня)
в '
... И все же, когда я бегу
it "does not route to #edit" do
get("/products/1/edit").should_not route_to("products#edit", :id => "1")
end
Я получаю
Ошибка / Ошибка: получить ("/ products / 1 / edit"). Should_not
route_to ("products # edit",: id => "1")
ActionController :: RoutingError:
Не найдено ни одного маршрута "/ products / 1 / edit"
Есть идеи, что здесь происходит? Я предполагаю, что это должно быть довольно просто, но я не могу понять это.