2010-12-03 31 views
0

Merci de votre aide. Les erreurs se produisent pendant la mise en œuvre accepts_nested_attributes_for. Je reçoisrails 3- méthode non définie `events 'pour nil: NilClass lors de l'utilisation de accept_nested_attributes_for

ActionView::Template:Error (undefined method 'events' for nil:class) & NoMethodError in app/views/users/index.html.erb where line #12. 

Voir tous les fichiers @https://gist.github.com/726828

En résumé, le modèle Useraccepts_nested_attributes_for la classe event. Voir les fichiers de l'essentiel. Merci encore

Répondre

3

Dans ce que je vois, vous n'avez pas @user dans l'index (je suppose que c'est le users/index), c'est pourquoi il déclencher une erreur lorsqu'il tente d'accéder à nil.events.

Dans l'index vous avez @users. Ce que vous pouvez faire est de rendre une partielle users/index pour chaque utilisateur avec

<%= render :partial => "user", :collection => @users %> 

et créer un users/_user.html.erb où vous mettez ce que vous voulez montrer.

Soit dit en passant dans votre partie, vous aurez accès à user et non @user

sonne bien pour vous?

+0

Merci @ecoologic, je vais essayer et mettre en œuvre vos suggestions. – brg

+0

Thaks encore @ecoologic. J'ai fait les changements que vous avez suggérés et vous pouvez voir les nouveaux fichiers ici https://gist.github.com/726898. Cependant est jusqu'à obtenir la même erreur. Pensez-vous que cela a quelque chose à voir avec essayer d'afficher les données de la table des événements dans l'utilisateur/index. Comme je pensais utiliser accept_nested_attributes_for est censé permettre cela. Merci de votre aide. – brg

+0

vous devriez accéder à ** utilisateur ** sans @, je vous suggère de mettre une ligne de débogueur <% debugger%> et regardez ce que vous avez et ce que vous n'avez pas. – ecoologic