Я продолжаю сталкиваться с этой ошибкой, чтобы запрос GET показывал действие.
1) ShopController GET 'show' should be successful
Failure/Error: get 'show', :id=>@shop.user.nickname
ActionController::RoutingError:
No route matches {:id=>"picardo", :controller=>"shop", :action=>"show"}
# ./spec/controllers/shop_controller_spec.rb:8:in `block (3 levels) in <top (required)>'
Мои маршруты выглядят следующим образом.
#routes.rb
resources :shop, :only=>[:show]
Это спецификация контроллера:
#shop_controller_spec.rb
before(:each) do
@shop = Fabricate(:shop)
end
describe "GET 'show'" do
it "should be successful" do
get 'show', :id=>@shop.user.nickname
response.should be_success
end
end
И контроллер:
def show
@user = User.find(:first,:conditions=>{:nickname=>params[:id]})
@shop = @user.shop
end