【发布时间】:2011-11-05 08:36:45
【问题描述】:
相当简单的问题(我曾想过),但我遇到了一些问题:
在 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 raise_error 预期异常,但未引发任何异常 # ./spec/routing/products_routing_spec.rb:11:in `block (3 级) 在'
...然而,当我跑步时
it "does not route to #edit" do
get("/products/1/edit").should_not route_to("products#edit", :id => "1")
end
我明白了
失败/错误:get("/products/1/edit").should_not route_to("products#edit", :id => "1") 动作控制器::路由错误: 没有路线匹配“/products/1/edit”
知道这里发生了什么吗?我猜这应该很简单,但我似乎无法弄清楚。
【问题讨论】:
标签: ruby-on-rails routing rspec