液体:
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 获取图像的url
任何参数都可以通过寄存器传递给过滤器。
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