【问题标题】:Rails javascript_include_tag tags in liquid液体中的 Rails javascript_include_tag 标签
【发布时间】:2014-09-06 08:38:28
【问题描述】:

我正试图让javascript_include_tag("jquery") 在rails 内的Liquid 标签中工作。我的问题是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)

【问题讨论】:

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


    【解决方案1】:

    终于找到答案了。

    包括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)
    

    【讨论】:

      猜你喜欢
      • 2015-03-24
      • 2011-11-07
      • 2016-05-04
      • 2022-06-14
      • 2011-12-16
      • 1970-01-01
      • 1970-01-01
      • 2017-07-27
      • 1970-01-01
      相关资源
      最近更新 更多