首頁 > php教程 > PHP开发 > 主體

rails render partial 參數 變數說明

高洛峰
發布: 2016-12-13 11:54:12
原創
1560 人瀏覽過

1. 預設參數 

Ruby程式碼  

<%= render :partial => "account" %>
登入後複製


預設本地有個變數@account, 傳遞過去,render到的partial(_account.erb)有個變數個轉號組hash參數hash 值是本地的變量,hash的key是partial裡的變量 



Ruby代碼  

<%= render :partial => "account", :locals => { :account => @buyer } %>  
  
<% for ad in @advertisements %>  
  <%= render :partial => "ad", :locals => { :ad => ad } %>  
<% end %>
登入後複製

上面兩個render 

傳遞本地變量@buyer到_account.erb裡。傳遞本地變量ad到_ad.erb裡叫ad 




根據1默認參數下面兩個是一樣的 



Ruby代碼  

<%= render :partial => "contract", :locals => { :contract  => @contract } %>  
  
<%= render :partial => "contract" %>
登入後複製

4. as使用 


用來改變傳遞之後,partial裡變數的名稱,如下,render方式是一樣的。問
所以什麼都記不清楚的時候,就用object多寫點都能表達 

如下: 


Ruby程式碼  

<%= render :partial => "contract", :as => :agreement  
  
<%= render :partial => "contract", :locals => { :agreement => @contract }
登入後複製

傳遞@buyer到_account.erb的partial裡變數名@buyer 到_ad.erb的partial裡變數名稱還是ad 


6 object和as合用 



Ruby程式碼  

<%= render :partial => "account", :object => @buyer %>  
  
<% for ad in @advertisements %>  
  <%= render :partial => "ad", :object => ad %>  
<% end %>
登入後複製



7 collection  

<%= render :partial => "contract", :object => @contract, :as => :contract %>  
  
<%= render :partial => "contract" %>
登入後複製

@advertisements是一個array,partial裡_ad.erb有個ad變數是@advertisements的成員。就是_ad.erb不用寫loop只是一條廣告顯示。




Ruby程式碼  

<%= render :partial => "ad", :collection => @advertisements %>
登入後複製


同上,循環顯示_ad.erb _ad_divider.erb 顯示@advertisements.size次其中partial_ad_counter是預設計數器表示第幾條廣告一組記錄還是一筆記錄,會對應約定用locals和collection 

Ruby代碼  

<%= render :partial => "ad", :collection => @advertisements, :spacer_template => "ad_divider" %>
登入後複製


這是很人性的約定,可有時候就是忘了 

9 一些漂亮的簡寫代碼
#@account是一条记录  
# <%= render :partial => "accounts/account", :locals => { :account => @account} %>  
<%= render :partial => @account %>  
  
# @posts是一组记录  
# <%= render :partial => "posts/post", :collection => @posts %>  
<%= render :partial => @posts %>
登入後複製

10 layout 




Ruby代碼  

#<%= 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) %>
登入後複製



相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板