Hat irgendjemand eine Idee, warum bei der Ausführung meiner Spezifikationen angezeigt wird, dass diese Route nicht existiert, obwohl sie eindeutig existiert?
Hier ist der entsprechende Code im Controller:
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
Und in routes.rb:
resources :jobs
Und in den technischen Daten:
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
Der Fehler:
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"}
Wenn ich laufe rake routes
Ich verstehe:
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"}