【发布时间】:2021-12-20 03:54:00
【问题描述】:
当我尝试使用 RSpec 进行测试时,我的示例不想工作,因为 post_categories_url 返回错误的路径。需要“/categories/2”,但我得到“/2/categories”
describe "GET /show" do
it "renders a successful response" do
post_category = PostCategory.create! valid_attributes
puts post_categories_url(post_category)
binding.pry
get post_categories_url(post_category)
expect(response).to be_successful
end
end
我的路线:
...
get '/:locale' => 'welcome#index'
scope "(:locale)", locale: /en|ru/ do
get '/user/:id' => 'users#show', as: 'user'
get '/users' => 'users#index'
resources :post_categories, path: 'categories'
resources :posts, path: 'adv'
...
【问题讨论】:
-
显示
rails routes | grep 'post'的输出 -
显示路由是如何定义的。告诉我们它是“错误的”并没有多大意义,因为您还没有提供方法让我们验证什么是“正确的”。
-
我添加到问题中
-
您可以阅读relishapp.com/rspec/rspec-rails/docs/controller-specs。
get :show, params: { id: post_category.id }是您所需要的。
标签: ruby-on-rails ruby rspec