Salut, encore moi, j'ai suivi le, tutoriel http://www.buzzdenoel.fr/tutoriel-ruby-on-rails.html pour vraiment mettre les mains dans le cambouis et comprendre rails.

J'ai conçu mes deux modèles et leurs contrôleurs (groups_controller et contacts_controller). J'ai créé les différentes actions (index, show...) sous forme de méthodes pour mon contrôleur "groups_controller"... J'arrive à consulter les groupes, les modifier, les ajouter et les supprimer.

Cependant, la ou ça se gate, c'est pour la gestion des contacts. En théorie, un groupe peut avoir plusieurs contacts et un contact est attaché à un et un seul groupe. Mes routes sont bien paramétrés, normalement :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 
                             GET    /groups                                     {:controller=>"groups", :action=>"index"}
                             GET    /groups.:format                             {:controller=>"groups", :action=>"index"}
                             POST   /groups                                     {:controller=>"groups", :action=>"create"}
                             POST   /groups.:format                             {:controller=>"groups", :action=>"create"}
                             GET    /groups/new                                 {:controller=>"groups", :action=>"new"}
                             GET    /groups/new.:format                         {:controller=>"groups", :action=>"new"}
                             GET    /groups/:id/edit                            {:controller=>"groups", :action=>"edit"}
                             GET    /groups/:id/edit.:format                    {:controller=>"groups", :action=>"edit"}
                             GET    /groups/:id                                 {:controller=>"groups", :action=>"show"}
                             GET    /groups/:id.:format                         {:controller=>"groups", :action=>"show"}
                             PUT    /groups/:id                                 {:controller=>"groups", :action=>"update"}
                             PUT    /groups/:id.:format                         {:controller=>"groups", :action=>"update"}
                             DELETE /groups/:id                                 {:controller=>"groups", :action=>"destroy"}
                             DELETE /groups/:id.:format                         {:controller=>"groups", :action=>"destroy"}
                      groups GET    /groups                                     {:controller=>"groups", :action=>"index"}
            formatted_groups GET    /groups.:format                             {:controller=>"groups", :action=>"index"}
                             POST   /groups                                     {:controller=>"groups", :action=>"create"}
                             POST   /groups.:format                             {:controller=>"groups", :action=>"create"}
                   new_group GET    /groups/new                                 {:controller=>"groups", :action=>"new"}
         formatted_new_group GET    /groups/new.:format                         {:controller=>"groups", :action=>"new"}
                  edit_group GET    /groups/:id/edit                            {:controller=>"groups", :action=>"edit"}
        formatted_edit_group GET    /groups/:id/edit.:format                    {:controller=>"groups", :action=>"edit"}
                       group GET    /groups/:id                                 {:controller=>"groups", :action=>"show"}
             formatted_group GET    /groups/:id.:format                         {:controller=>"groups", :action=>"show"}
                             PUT    /groups/:id                                 {:controller=>"groups", :action=>"update"}
                             PUT    /groups/:id.:format                         {:controller=>"groups", :action=>"update"}
                             DELETE /groups/:id                                 {:controller=>"groups", :action=>"destroy"}
                             DELETE /groups/:id.:format                         {:controller=>"groups", :action=>"destroy"}
              group_contacts GET    /groups/:group_id/contacts                  {:controller=>"contacts", :action=>"index"}
    formatted_group_contacts GET    /groups/:group_id/contacts.:format          {:controller=>"contacts", :action=>"index"}
                             POST   /groups/:group_id/contacts                  {:controller=>"contacts", :action=>"create"}
                             POST   /groups/:group_id/contacts.:format          {:controller=>"contacts", :action=>"create"}
           new_group_contact GET    /groups/:group_id/contacts/new              {:controller=>"contacts", :action=>"new"}
 formatted_new_group_contact GET    /groups/:group_id/contacts/new.:format      {:controller=>"contacts", :action=>"new"}
          edit_group_contact GET    /groups/:group_id/contacts/:id/edit         {:controller=>"contacts", :action=>"edit"}
formatted_edit_group_contact GET    /groups/:group_id/contacts/:id/edit.:format {:controller=>"contacts", :action=>"edit"}
               group_contact GET    /groups/:group_id/contacts/:id              {:controller=>"contacts", :action=>"show"}
     formatted_group_contact GET    /groups/:group_id/contacts/:id.:format      {:controller=>"contacts", :action=>"show"}
                             PUT    /groups/:group_id/contacts/:id              {:controller=>"contacts", :action=>"update"}
                             PUT    /groups/:group_id/contacts/:id.:format      {:controller=>"contacts", :action=>"update"}
                             DELETE /groups/:group_id/contacts/:id              {:controller=>"contacts", :action=>"destroy"}
                             DELETE /groups/:group_id/contacts/:id.:format      {:controller=>"contacts", :action=>"destroy"}
                        root        /                                           {:controller=>"groups", :action=>"index"}
En théorie, je devrais accéder à ma liste de contact pour le groupe 1 en saisissant http://monserveur:monport/groups/1/contacts . Cependant, ça ne fonctionne pas. Mes pages ont bien été créées (dans le répertoire contacts de view : index.erb.html, show, edit et new).

Quand je lance l'application, voici l'erreur que j'obtiens :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
LoadError in ContactsController#index
 
Expected C:/Documents and Settings/MonCompte/Mes documents/NetBeansProjects/MyContacts/app/controllers/contacts_controller.rb to define ContactsController
 
RAILS_ROOT: C:/Documents and Settings/MonCompte/Mes documents/NetBeansProjects/MyContacts
 
C:/Program Files/NetBeans 6.5 Beta/ruby2/jruby-1.1.3/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:261:in `load_missing_constant'
C:/Program Files/NetBeans 6.5 Beta/ruby2/jruby-1.1.3/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:467:in `const_missing'
C:/Program Files/NetBeans 6.5 Beta/ruby2/jruby-1.1.3/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:479:in `const_missing'
C:/Program Files/NetBeans 6.5 Beta/ruby2/jruby-1.1.3/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/inflector.rb:283:in `module_eval'
C:/Program Files/NetBeans 6.5 Beta/ruby2/jruby-1.1.3/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/inflector.rb:283:in `constantize'
C:/Program Files/NetBeans 6.5 Beta/ruby2/jruby-1.1.3/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/core_ext/string/inflections.rb:143:in `constantize'
C:/Program Files/NetBeans 6.5 Beta/ruby2/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/routing/route_set.rb:386:in `recognize'
C:/Program Files/NetBeans 6.5 Beta/ruby2/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:148:in `handle_request'
C:/Program Files/NetBeans 6.5 Beta/ruby2/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:107:in `dispatch'
C:/Program Files/NetBeans 6.5 Beta/ruby2/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:104:in `dispatch'
C:/Program Files/NetBeans 6.5 Beta/ruby2/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:120:in `dispatch_cgi'
C:/Program Files/NetBeans 6.5 Beta/ruby2/jruby-1.1.3/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:35:in `dispatch'
C:/Program Files/NetBeans 6.5 Beta/ruby2/jruby-1.1.3/lib/ruby/gems/1.8/gems/rails-2.1.0/lib/webrick_server.rb:112:in `handle_dispatch'
C:/Program Files/NetBeans 6.5 Beta/ruby2/jruby-1.1.3/lib/ruby/gems/1.8/gems/rails-2.1.0/lib/webrick_server.rb:78:in `service'
C:/Program Files/NetBeans 6.5 Beta/ruby2/jruby-1.1.3/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
C:/Program Files/NetBeans 6.5 Beta/ruby2/jruby-1.1.3/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
C:/Program Files/NetBeans 6.5 Beta/ruby2/jruby-1.1.3/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'