Ich befolge derzeit Michael Hartls Rails Tutorial und habe es bis 7.22 ohne größere Probleme geschafft. Allerdings bin ich durch die Ausgabe von der Test stapfte die sagt:Michael Hartl Rails Tutorial Kapitel 7 Fehler Aktion nicht in UsersController gefunden
Failures:
1) UserPages signup with invalid information should not create a user
Failure/Error: expect{click_button submit }.not_to change(User, :count)
AbstractController::ActionNotFound:
The action 'create' could not be found for UsersController
# (eval):2:in `click_button'
# ./spec/requests/user_pages_spec.rb:29:in `block (5 levels) in <top (required)>'
# ./spec/requests/user_pages_spec.rb:29:in `block (4 levels) in <top (required)>'
2) UserPages signup with valid information should create a user
Failure/Error: expect{click_button submit}.to change(User, :count).by(1)
AbstractController::ActionNotFound:
The action 'create' could not be found for UsersController
# (eval):2:in `click_button'
# ./spec/requests/user_pages_spec.rb:42:in `block (5 levels) in <top (required)>'
# ./spec/requests/user_pages_spec.rb:42:in `block (4 levels) in <top (required)>'
Finished in 0.7718 seconds
6 examples, 2 failures
ich folgendes auf meine Nutzer-Controller Seite als durch das Tutorial instruiert hinzugefügt haben:
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
def new
@user = User.new
end
end
aber es noch doesn‘ Es scheint zu funktionieren. Ich habe versucht, indem ein Verfahren schaffen, aber das wirft nur einen fehlenden Template Fehler zurück ...
Falls es hier ist der Ausgang des Rake-Routen Befehls hilft:
~/dev/rails/sample_app$ rake routes
users GET /users(.:format) users#index
POST /users(.:format) users#create
new_user GET /users/new(.:format) users#new
edit_user GET /users/:id/edit(.:format) users#edit
user GET /users/:id(.:format) users#show
PUT /users/:id(.:format) users#update
DELETE /users/:id(.:format) users#destroy
root / static_pages#home
signup /signup(.:format) users#new
help /help(.:format) static_pages#help
about /about(.:format) static_pages#about
contact /contact(.:format) static_pages#contact
Als Reaktion auf einen Kommentar, Die Tests, die fehlschlagen sind:
describe "signup" do
before{ visit signup_path }
let(:submit) {"Create my account"}
describe "with invalid information" do
it "should not create a user" do
expect{click_button submit }.not_to change(User, :count)
end
end
describe "with valid information" do
before do
fill_in "Name", with: "Example User"
fill_in "Email", with: "[email protected]"
fill_in "Password", with: "foobar"
fill_in "Confirmation", with: "foobar"
end
it "should create a user" do
expect{click_button submit}.to change(User, :count).by(1)
end
end
end
Vielen Dank im Voraus für jede Beratung!
Ich sehe die Benutzer # Route erstellen, also nehme ich an, dass die Erstellungsaktion in Ihrem Controller definiert ist? Post die entsprechenden Tests, möglicherweise Tippfehler irgendwo – TheIrishGuy
@TheIrishGuy die fehlgeschlagenen Tests wurden über danke – TangoKilo
Wenn es eine "fehlende Vorlage" Fehler wirft, dann haben Sie wahrscheinlich keine 'create' Vorlage. –