1. Standardparameter
Ruby-Code
<%= render :partial => "account" %>
Standardmäßig gibt es eine lokale Variable @account, die an den Teil ( _account) gerendert .erb) hat einen variablen Account
2. Der separate Parameter locals
locals übergibt einen Satz von Hash-Parametern. Der Hash-Wert ist eine lokale Variable und der Hash-Schlüssel ist eine Variable im partiell
Ruby-Code
<%= render :partial => "account", :locals => { :account => @buyer } %> <% for ad in @advertisements %> <%= render :partial => "ad", :locals => { :ad => ad } %> <% end %>
Die beiden oben genannten Renderings
übergeben die lokale Variable @buyer an den Parameter namens „account“ in _account.erb
Übergeben Sie die lokale Variable ad an _ ad.erb heißt ad
3
Gemäß einem Standardparameter sind die folgenden beiden gleich
Ruby-Code
<%= render :partial => "contract", :locals => { :contract => @contract } %> <%= render :partial => "contract" %>
4. as verwendet
, um den Namen der Variablen im Teil nach der Übergabe wie folgt zu ändern: Die Rendermethode ist dieselbe.
Ruby-Code
<%= render :partial => "contract", :as => :agreement <%= render :partial => "contract", :locals => { :agreement => @contract }
Übergeben Sie @contract an _contract.erb, der Variablenname lautet teilweise Übereinstimmung
5 Die einfachste Möglichkeit, Objekt
Objekt zu verwenden, besteht darin, den ursprünglichen Namen einer Variablen an Partial zu übergeben.
Wenn Sie sich also an etwas nicht genau erinnern können, verwenden Sie einfach Objekt und schreiben Sie mehr, um es auszudrücken
Wie folgt:
Ruby-Code
<%= render :partial => "account", :object => @buyer %> <% for ad in @advertisements %> <%= render :partial => "ad", :object => ad %> <% end %>
Übergeben Sie @buyer an den Variablennamen im Teil von _account.erb oder @buyer
Pass ad zu _ad. Der Variablenname im Teil von erb ist immer noch ad
6 Objekt und as werden mit
Ruby-Code
<%= render :partial => "contract", :object => @contract, :as => :contract %> <%= render :partial => "contract" %>
7 Sammlung
<%= render :partial => "ad", :collection => @advertisements %>
@advertisements ist ein Array, und in _ad gibt es eine Anzeigenvariable .erb teilweise, das Mitglied von @advertisements ist. Das heißt, _ad.erb muss keine Schleife schreiben, sondern dient lediglich der Anzeige von Werbung.
<%= render :partial => "ad", :collection => @advertisements, :spacer_template => "ad_divider" %>
Wie oben, zeigen Sie _ad.erb _ad_divider.erb in einer Schleife mit @advertisements.size mal an, wobei „partial_ad_counter“ die Standardeinstellung ist Zähler, der die erste angibt. Mehrere Anzeigen
8 Standard
Es hängt davon ab, ob die Variable, die Sie teilweise verwenden möchten, eine Gruppe von Datensätzen oder ein Datensatz ist und entsprechend verwendet wird >
Ruby-Code
#@account是一条记录 # <%= render :partial => "accounts/account", :locals => { :account => @account} %> <%= render :partial => @account %> # @posts是一组记录 # <%= render :partial => "posts/post", :collection => @posts %> <%= render :partial => @posts %>Das ist eine sehr menschliche Vereinbarung, aber manchmal vergessen wir sie einfach
9 Einige schöne Abkürzungen
Ruby-Code
#<%= render :partial => "account" %>可用下面代替 <%= render "account" %> #<%= render :partial => "account", :locals => { :account => @buyer } %>可用下面代替 <%= render "account", :account => @buyer %> # @account是一条记录 # <%= render :partial => "accounts/account", :locals => { :account => @account } %>可用下面代替 <%= render(@account) %> # @posts是一组记录 # <%= render :partial => "posts/post", :collection => @posts %>可用下面代替 <%= render(@posts) %>
10-Layout
Ruby-Code
<%# app/views/users/index.html.erb &> Here's the administrator: <%= render :partial => "user", :layout => "administrator", :locals => { :user => administrator } %> Here's the editor: <%= render :partial => "user", :layout => "editor", :locals => { :user => editor } %> <%# app/views/users/_user.html.erb &> Name: <%= user.name %> <%# app/views/users/_administrator.html.erb &> <div id="administrator"> Budget: $<%= user.budget %> <%= yield %> </div> <%# app/views/users/_editor.html.erb &> <div id="editor"> Deadline: <%= user.deadline %> <%= yield %> </div>