4 Stimmen

RSpec mit Rails 3.1 No route matches Fehler, außer, dass die Route existiert

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"}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X