2013-08-22 14 views
12

Aktualizacja: To było ze względu na błędnie nazwy plikuActionController :: RoutingError: niezainicjowany stała MicropostsController

prawidłowego:
~/sample_app/app/controllers/microposts_controller.rb

nieprawidłowy:
~/sample_app/app/controllers/microposts_contoller.rb


To jest mój pierwszy wkład tutaj, informacje zwrotne na temat poprawy tego lub futu re księgowania jest doceniana :)

Ruby on Rails Tutorial: Learn Web Development with Rails 4

Pracując przez rozdziale 10.3, utknąłem. W końcu błędnie nazwana nazwa pliku kazała mi gonić duchy przez kilka dni.

$ rspec spec/requests/authentication_pages_spec.rb 
No DRb server is running. Running in local process instead ... 
...FF................ 

Failures: 

1) Authentication authorization for non-signed-in users in the Microposts controller submitting to the create action 
Failure/Error: before { post microposts_path } 
ActionController::RoutingError: 
uninitialized constant MicropostsController 
# ./spec/requests/authentication_pages_spec.rb:93:in `block (6 levels) in ' 

2) Authentication authorization for non-signed-in users in the Microposts controller submitting to the destroy action 
Failure/Error: before { delete micropost_path(FactoryGirl.create(:micropost)) } 
ActionController::RoutingError: 
uninitialized constant MicropostsController 
# ./spec/requests/authentication_pages_spec.rb:98:in `block (6 levels) in ' 

Finished in 0.92253 seconds 
21 examples, 2 failures 

Failed examples: 

rspec ./spec/requests/authentication_pages_spec.rb:94 # Authentication authorization for non-signed-in users in the Microposts controller submitting to the create action 
rspec ./spec/requests/authentication_pages_spec.rb:99 # Authentication authorization for non-signed-in users in the Microposts controller submitting to the destroy action 
+0

Aktualizacja: to było ze względu na błędnie nazwy pliku ~/sample_app /app/controllers/microposts_controller.rb (was microposts_contoller.rb) – 8legged

+3

Nie komentuj, odpowiadaj twoje własne pytanie. – fotanus

+1

Uzgodniono, że powinieneś odpowiedzieć na swoje pytanie, aby użytkownicy nie musieli czytać całego twojego wpisu i komentarzy, zanim zorientujesz się, że zostało to już rozwiązane. –

Odpowiedz

18

ten był spowodowany błędnie nazwy pliku ~/sample_app/app/controllers/microposts_controller.rb (był microposts_contoller.rb)

+0

Rozumiem, że stawiasz rozwiązanie na samym szczycie. Miałem dokładnie ten sam problem i udało mi się go szybko naprawić. :) –

+1

Przeniosłem folder 'controllers' do katalogu. – IIllIIll

1

To również może się zdarzyć, jeśli masz zagnieżdżonych trasy mapowanie katalogu zagnieżdżonych :

Started POST "/brokers/properties/5/images/upload" for ...

ActionController::RoutingError (uninitialized constant Brokers::ImagesController):

namespace :brokers do 
    resources :properties, only: [] do 
    collection do 
     post 'upload' 
    end 
    member do 
     resources :images, only: [] do 
     collection do 
      post 'upload' 
     end 
     end 
    end 
    end 
end 

Państwo musi umieścić swój plik images_controller.rb o następującej strukturze:

-controllers 
|-brokers 
    |-images_controller.rb 

Wskazówki w strukturze katalogów images_controller.rb jest bezpośrednim potomkiem brokerów.

tak aby pozwolić Rails znaleźć klasa nie utworzyć podkatalog properties wewnątrz brokers odwzorowywania struktury trasy, to musi być bezpośrednim potomkiem brokerów

0

w moich trasach: miałem "/" zamiast "#" dla wszystkich "get", więc zmienić na "#" get 'wszystkie' => 'Storefront # all_items'

dostać 'kategoryczne' = > 'storefront # items_by_category'

get 'marki' => 'sklepowa # items_by_brand'

że ustalone wszystkie moje błędy.

0

ja nieprawidłowo zawarte poniżej w moim application_controller.rb

popraw:include ActionController::MimeResponds

Niepoprawnie:include ActionController::MimeResponse

# /controllers/api/v1/application_controller.rb 

module Api 
    module V1 
    class ApplicationController < ActionController::API 
     include ActionController::MimeResponds 
    end 
    end 
end 
Powiązane problemy