ich diesen Code in meiner Anwendung verwenden \ Ansichten \ Seiten \ home.html.erb DateiRender-Vorlage mit Teil
<%= render :template => 'users/new' %>
ich diesen Code in meiner Anwendung verwenden \ Ansichten \ users \ new.html.erb Datei
<%= render :partial => 'users/form' %>
Anzeigen der "Home Page" ich bekomme diese Fehlermeldung:
NoMethodError in Pages # Hause
nicht definierte Methode `model_name‘ für NilClass: Klasse
Extrahiert Quelle (um Zeile # 1):
1: <% = form_for (@user) tun | f | %>
2: <% if @ user.errors.any? %>
...
Ich las this, aber es funktioniert nicht. Was kann ich tun, um Vorlage mit "sub-partially" richtig zu rendern?
Danke, es funktioniert. Ich habe festgestellt, dass Sie dasselbe mit: <% = render: template => 'users/new',: objekt => @user = User.new%> in der Datei home.html.erb machen können. – user502052
Ja - es ist im Allgemeinen sauberer, Ihre Objekte in Ihren Controllern zu erstellen als Ihre Ansichten. – Nate
Partials sind mehr wiederverwendbar, wenn Sie nicht mit Instanzvariablen arbeiten, also wäre sogar sauberer "<% = render" -Formular ",: user => @user%>' und im partiellen etwas wie '<% = form_for user do | f | %> '(nicht mit dem ivar) – iain