ruby-on-rails - 如何为 Rails Liquid GEM 创建 image_tag 过滤器

标签 ruby-on-rails filter image liquid

我正在尝试编写一个 CMS 类型的应用程序,并希望允许用户使用类似 {{ page.image_url | } 的格式将图像嵌入到其液体页面模板中。 my_img_tag }}。

辅助模块只是:

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​​ 和 Rails 还很陌生。

最佳答案

当我在 LiquidFilter 模块中包含额外的两个 Sprockets 模块时,该代码有效。即所需的四个模块是:

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

Liquid 的使用使人们能够使用简单的 CMS 类型应用程序将上传的图像嵌入到 HTML 中,并且这些图像是由运行在 heroku 上的 Paperclip GEM 从亚马逊 S3 中提取的。

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

关于ruby-on-rails - 如何为 Rails Liquid GEM 创建 image_tag 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15148478/

相关文章:

javascript - 使用 API (Rails) 中的 Svelte 进行正确的错误处理

javascript - 显示 ajax 调用错误消息的最佳方式?

JavaScript «检测 <N 空槽> 未定义»

filter - 查询指定了多个字段值

java - 如何从 JPanel 加载/保存图像

image - Matlab:根据另外 2 个矩阵中的值创建 RGB 矩阵

Android - 将图像存储到 SQLite 的最佳方式是什么?

mysql - MySQL 主数据存储和 MongoDB 辅助数据存储之间的 ETL

ruby-on-rails - Rails 中一个 View 中的两个 Controller

javascript - Backbone.js:清除所有 View 的最佳方法