有谁知道为什么当我运行我的规范时它说这条路线不存在,而它显然存在?
这是控制器中的相关代码:
class JobsController < ApplicationController
before_filter :find_job, :only => [:show, :edit]
respond_to :html, :json
def show
respond_with @job
end
def find_job
@job = Job.find(params[:id])
end
end
在 routes.rb 中:
resources :jobs
在规格中:
def valid_attributes
{}
end
describe "POST create" do
context "with valid params" do
it "redirects to the jobs path" do
post :create, :job => valid_attributes
response.should redirect_to job_path
end
end
end
错误:
1) JobsController when logged in as administrator POST create with valid params redirects to the jobs path
Failure/Error: response.should redirect_to job_path
ActionController::RoutingError:
No route matches {:action=>"show", :controller=>"jobs"}
当我跑步时,rake routes
我得到:
jobs GET /jobs(.:format) {:action=>"index", :controller=>"jobs"}
POST /jobs(.:format) {:action=>"create", :controller=>"jobs"}
new_job GET /jobs/new(.:format) {:action=>"new", :controller=>"jobs"}
edit_job GET /jobs/:id/edit(.:format) {:action=>"edit", :controller=>"jobs"}
job GET /jobs/:id(.:format) {:action=>"show", :controller=>"jobs"}
PUT /jobs/:id(.:format) {:action=>"update", :controller=>"jobs"}
DELETE /jobs/:id(.:format) {:action=>"destroy", :controller=>"jobs"}