J'utilise ce code dans mon application \ vues \ pages \ fichier home.html.erbmodèle Render avec partiel
<%= render :template => 'users/new' %>
J'utilise ce code dans mon application \ vues \ Users \ fichier new.html.erb
<%= render :partial => 'users/form' %>
Afficher la "page d'accueil" Je reçois cette erreur:
NoMethodError dans les pages # Accueil
méthode non définie MODEL_NAME » pour NilClass: Classe
source décompressée (autour de la ligne n ° 1):
1: <% = form_for (@user) do | f | %>
2: <% si @ user.errors.any? %>
...
Je lis this, mais cela ne fonctionne pas. Que puis-je faire pour rendre le template avec "sub-partial" correctement?
Merci, ça marche. J'ai fondé que vous pouvez faire la même chose avec: <% = render: template => 'users/new',: object => @user = User.new%> dans le fichier home.html.erb. – user502052
Ouais - il est généralement plus propre de faire votre création d'objet dans vos contrôleurs que vos vues, cependant. – Nate
Les partiels sont plus réutilisables quand vous ne travaillez pas avec les variables d'instance, donc même le nettoyeur serait '<% = render" form ",: user => @user%>' et dans le partial, faites quelque chose comme '<% = form_for utilisateur do | f | %> '(n'utilisant pas l'ivar) – iain