2016-11-27 4 views
2

Ich bin ein Anfänger in Ruby on Rails und ich habe ein Problem. Ich versuche, meiner App Kommentare hinzuzufügen. Alles funktioniert, aber wenn ich diesen Code zu routes.rbDie Aktion x konnte nicht für xyzController gefunden werden

resources :galleries do 
    resources :comments, module: :galleries 
end 
resources :articles do 
    resources :comments, module: :articles 
end 

Ich kann keine Galerie oder Artikel aktualisieren. Mein ganzes routes.rb:

Rails.application.routes.draw do 

    devise_for :users 


    resources :galleries do 
     resources :comments, module: :galleries 
    end 
    resources :articles do 
     resources :comments, module: :articles 
    end 

    match ':controller(/:action(/:id))(.:format)', via: [:post, :get] 


    root 'public#index' 
end 
+0

können Sie bitte den Fehler selbst anzeigen –

+0

http://imgur.com/a/HoJV2 – Kuba

Antwort

0

Es sieht aus wie die Anforderung (Artikel/12 page_id = 4?) Bis zum Spiel Aussage fällt und nicht immer durch Ihre Ressourcen abgeholt. Ihr Spiel Erklärung:

match ':controller(/:action(/:id))(.:format)', via: [:post, :get] 

ist passend „Artikel“, wie der Controller und die Suche nach „12“ als Aktion und es kann eindeutig nicht finden.

Ich würde die Match-Anweisung verschrotten und streng mit benannten Routen oder findigen Routing dauerhaft oder zumindest während des Debuggen gehen. Als nächstes führen Sie

rake routes 

und überprüfen Sie die Ergebnisse. Von Ihrem routes.rb Ich vermute, Sie eine Zeile wie diese haben:

   article GET /articles/:id(.:format) articles#show 

Wenn das tatsächlich der Fall ist, stellen Sie sicher, dass Sie die Show() -Methode in der Artikel-Controller definiert haben, und stellen Sie sicher, dass die Protokolle zeigen eine GET-Anfrage dafür.

Verwandte Themen