我不断收到的错误如下:
test_should_get_show(CartsControllerTest):
ActionController::RoutingError: No route matches {:cart=>"1", :controller=>"carts", :action=>"show"}
当我运行以下代码时:
def setup
@cart = FactoryGirl.create(:cart)
end
test "should get show" do
sign_in(FactoryGirl.create(:user, admin: true))
session[:cart_id] = @cart.id
get :show, cart: @cart
assert_response :success
assert_not_nil assigns(:product_requests)
end
我的购物车工厂:
FactoryGirl.define do
factory :cart do
factory :cart_with_1_row do
after(:create) do |cart|
FactoryGirl.create(:cart_row, cart: cart)
end
end
end
end
但是,在我的 rake 路线中,我有:
cart GET /carts/:id(.:format) carts#show
我也可以http://localhost:3000/carts/1
在开发环境的浏览器中手动进入,它工作正常。
这可能是什么原因造成的?