2012-05-21 71 views
15

是否可以在中間人文件中檢索頁面的當前路徑?舉例來說,如果我有一個佈局文件layout.erb的東西,如下列:在中間人佈局文件中獲取頁面的當前路徑

<%= page.path %> 
<%= yield %> 

和測試文件index.html

Testing 

那麼當中間人呈現的頁面我會得到這樣的:

/index.html 
Testing 

回答

29

Middleman還提供了current_page變量。 current_page.path是此資源的源路徑(相對於源目錄,沒有模板擴展名),並且current_page.url是沒有目錄索引的路徑(因此foo/index.html變成只是foo)。

<%= current_page.path %> 
# -> index.html 

<%= current_page.url %> 
# ->/

詳情來自Middleman's Middleman::Sitemap::Resource ruby​​doc。 http://rubydoc.info/github/middleman/middleman/Middleman/Sitemap/Resource

+0

這可能是考慮到暴露並記錄的當前路徑的最佳方式。 – LandonSchropp

+1

任何想法如何獲得主機名? – DaMainBoss

2

解決方法是:

<%= request.path %> 
+0

任何原因爲什麼這個工程? – jackyalcine

+0

如果我不得不猜測,當Middleman構建應用程序時,它會創建一個服務器,請求應用程序中的頁面並將響應寫入文件。但我真的不知道。 – LandonSchropp

+0

@jackyalcine它是當前路徑的資源對象的別名https://github.com/middleman/middleman/blob/dd0ee24ca3ae728b00f8987d74c360557c910946/middleman-core/lib/middleman-core/template_context.rb#L165 –

相關問題