ruby-on-rails - 液体中的 Rails javascript_include_tag 标签

标签 ruby-on-rails ruby-on-rails-4 asset-pipeline liquid

我正在尝试获取 javascript_include_tag("jquery")在 rails 内的液体标签中工作。我的问题是javascript_include_tag("jquery")返回<script src="/javascript/jquery.js"></script> 。而不是:<script src="/assets/jquery_ujs.js"></script> 。同样在生产中,标签不会添加文件指纹。

  class JqueryTag < ::Liquid::Tag
    # Include the stylesheet tag link helper
    include ActionView::Helpers::AssetTagHelper


    def render(context)
      return javascript_include_tag("jquery")
    end

  end

  Liquid::Template.register_tag('jquery_tag', JqueryTag)

最佳答案

终于找到答案了。

包含 include ActionView::Helpers::AssetTagHelper 还不够。

相反,我需要这样做。

  class JqueryTag < ::Liquid::Tag

    def render(context)
      helpers.javascript_include_tag("jquery")
    end

    def helpers
      @helpers ||= ActionController::Base.helpers
    end

  end

  Liquid::Template.register_tag('jquery_tag', JqueryTag)

关于ruby-on-rails - 液体中的 Rails javascript_include_tag 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25698461/

相关文章:

ruby-on-rails - 简单的电子邮件导致堆栈级别太深

ruby-on-rails - "pg_dump: invalid option -- i"迁移时

ruby-on-rails - Facebook Messenger 机器人 : postback. 回复 webhook 与数据库查询不匹配

sql - Rails Activerecord 关系 : using subquery as a table for a SQL select statement

ruby-on-rails-4 - Rails 下拉选择从当年到过去四年的年份

ruby-on-rails-3 - 使用 Assets 管道 Rails 3.2 时从公用文件夹提供图像

grails - 使用 Assets 管道和sass-grails-asset-pipeline的Grails 3 “Build failed with an exception”

ruby-on-rails - 数据库迁移脚本中断引用

mysql - 如何根据第 3 个表所属的记录进行分组,有很多

javascript - Sprockets 的 asset_path 不会返回生产中 HTML 资源的摘要路径。