[英]How to pass controller params to Liquid filters?
液體:
asset = {{asset_url | 'screenshot.png'}}
視圖:
<img src="{{asset_url | 'screenshot.png'}}" />
幫手:
我解析如下:
Liquid::Template.parse(asset).render(asset, :filters => [TextFilter]).html_safe
text_filter.rb:
def asset_url(input)
AwsWrapper::S3Object.url_for("\[**asset_id**]\#{input}", [BUCKET_NAME])
end
我想知道如何將[asset_id]從視圖傳遞到text_filter,以便我形成從s3獲取圖像的網址
任何參數都可以通過寄存器傳遞給過濾器。
Liquid::Template.parse(asset).render(replace_objs, :filters => [TextFilter],
:registers => { :your_object => object }).html_safe
text_filter.rb:
def asset_url(input)
asset_id = @context.registers[:your_object].asset_id
AwsWrapper::S3Object.url_for(#{asset_id}\#{input}", [BUCKET_NAME])
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.