2013-03-01 44 views
2

我在尝试编写一个CMS类型的应用程序,并希望允许用户使用像{{page.image_url | my_img_tag}}。如何为导轨液体创建image_tag过滤器GEM

助手模块就是:

module LiquidFilters 

    include ActionView::Helpers::TagHelper 
    include ActionView::Helpers::AssetTagHelper 

    def my_img_tag(image_name) 
    image_tag (image_name) 
    end 

end 

然后我在注册渲染:

def liquidize(content, arguments) 
Liquid::Template.parse(content).render(arguments, :filters => [LiquidFilters]).html_safe 
end 

但是返回的结果是:

Liquid error: undefined local variable or method `config' for # 

我不我想自己创建img标签,因为我使用回形针来查找来自AWS-S3的图像,并且我很关注我会遇到问题。

任何帮助非常感谢 - 我对ruby &导轨相当陌生。

回答

2

当我在LiquidFilter模块中包含额外的两个Sprockets模块时,代码正常工作。即需要四个模块分别为:

include ActionView::Helpers::TagHelper 
include ActionView::Helpers::AssetTagHelper 
include Sprockets::Helpers::RailsHelper 
include Sprockets::Helpers::IsolatedHelper 

这用液体的启用使用简单的CMS型应用程序中嵌入在HTML上传的图片人和这些图像是在从Amazon S3由回形针创业板在Heroku上运行的拉动。

(感谢Pascal格式化我的原始问题)。