2013-11-21 34 views
0

我已經在液體中構建了一些自定義過濾器。自定義過濾器中的全局液體變量

該應用程序我建立他們有多個站點,其中某些用戶不應該能夠訪問。在我的情況下,我有一個appointments模型,範圍爲一個網站,其中有一個booking_reference。我不希望某個網站的用戶能夠找到不屬於他們的約會

我可以將其傳遞到render液體方法,並使其在模板中可用。然後可以將其傳遞給過濾器。但這很容易被欺騙。

所以我的問題是,我怎麼能得到我的液體過濾器提供了一個全局變量。

或者是有沒有更好的方式來做到這一點?

感謝

更新:我看了成液體,並具有對方法不帶參數的Drop類。

回答

1

你可以嘗試這樣的,例如
控制器:

render :text => liquid.render(vars, 
    :registers => {:current_site => @current_site} 
) 

在定義fillter或標記的地方:

context.registers[:current_site] 
+0

是否過濾器有上下文的知識呢?我知道我可以在標籤和塊中得到它。 – DickieBoy

+0

This Works!這真的應該記錄在某個地方!你有真實的賬戶我可以獎勵賞金嗎? – DickieBoy

+0

對不起,我不知道什麼意思是「真實賬戶」。這是我的真實賬戶) –