Forum: Rails France Problème méthodes de type 'path' - Netbeans 6.5

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
ben *. (Guest)
on 2009-03-09 16:02
Bonjour,

J'ai un petit problème avec les méthodes de type 'path'. Je début en
rails et je suis le tutoriel
http://www.buzzdenoel.fr/tutoriel-ruby-on-rails.html sous Netbeans 6.5.
J'ai créé mes deux modèles "contact" et "group" auxquels sont associés
les contrôleurs "groups_controller" et "contacts_controller". (un groupe
peut avoir plusieurs contacts et un contact est associé a un et un seul
groupe).

En ce qui concerne les vues, je dispose de quatre vues/controleurs
(index.html.erb, show, edit et new). Dans mes vues, je fais appel à des
méthodes de type 'path' comme 'new_group_path', 'edit_group_path'...
Cela fonctionne très bien avec les vues associées à "group".

Mais par contre, j'ai toujours un message d'erreur quand j'utilise les
fichiers 'path' de "contacts".

ex :  NoMethodError in Contacts#index

Showing contacts/index.html.erb where line #4 raised:

undefined method `edit_contact_path'


Mon fichier "routes.rb" contient :

ActionController::Routing::Routes.draw do |map|

  map.resources :groups, :has_many =>:contacts
  map.connect '', :controller => "groups"
end


Mes routes sont :


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


Auriez vous une idée d'ou peut venir le problème ?
Emilien T. (Guest)
on 2009-03-09 16:43
(Received via mailing list)
D'après la déclaration de tes routes, il faut que tu appelles ta route
ainsi, vu que tu as déclaré contacts en tant que ressource de groups
(:has_many => contacts) :

edit_group_contact_path(@group, @contact)

Pour pouvoir appeler une route contacts en dehors du contexte de groups,
il
faut que tu rajoutes un map.ressources :contacts dans tes routes.



2009/3/9 Babiben A. <removed_email_address@domain.invalid>
ben *. (Guest)
on 2009-03-09 17:32
Emilien T. wrote:
> D'après la déclaration de tes routes, il faut que tu appelles ta route
> ainsi, vu que tu as déclaré contacts en tant que ressource de groups
> (:has_many => contacts) :
>
> edit_group_contact_path(@group, @contact)
>
> Pour pouvoir appeler une route contacts en dehors du contexte de groups,
> il
> faut que tu rajoutes un map.ressources :contacts dans tes routes.
>
>
>
> 2009/3/9 Babiben A. <removed_email_address@domain.invalid>

Merci beaucoup, je viens de voir le post et je mettais rendu compte de
mon erreur concernant le map.ressources :contacts. Par contre, merci
pour le "edit_group_contact_path(@group, @contact)", ça fonctionne

Merci beaucoup :)
This topic is locked and can not be replied to.