自定义过滤器中提供全局液体变量

时间:2013-11-21 10:20:38

标签: ruby ruby-on-rails-4 liquid

我已经在液体中构建了一些自定义过滤器。

我正在构建它们的应用程序有多个站点,某些用户无法访问这些站点。在我的情况下,我有一个appointments模型,范围限定为一个booking_reference的网站。我不希望网站的用户能够找到不属于他们的约会

我可以将传递到render液体方法并在模板中使用它。然后可以将其传递到过滤器中。但这很容易被欺骗。

所以我的问题是,如何在我的液体过滤器中获得全局变量。

或者有更好的方法吗?

由于

更新:我查看了液体所具有的Drop类以及不接受参数的方法。

1 个答案:

答案 0 :(得分:1)

你可以尝试这样,例如
控制器:

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

在您定义填充符或标记的位置:

context.registers[:current_site]