【问题标题】:Get js and css from gem without pipeline无需管道即可从 gem 获取 js 和 css
【发布时间】:2015-10-11 09:43:47
【问题描述】:

我为 Redmine 的插件创建了 gem。 现在我的任务是向我的 gem 添加一些 javascript 和 css 文件,但我不知道如何将这个文件包含到插件中。因为Redmine没有使用我不能使用的管道:

//= require my_redmine_gem

这项任务的正确方法是什么?

感谢您的任何建议。

也许用 rake 或 generator 复制到插件文件夹?

【问题讨论】:

    标签: ruby-on-rails gem asset-pipeline redmine


    【解决方案1】:

    Redmine 中有一个钩子,可让您添加插件所需的任何资源。

    你可以这样使用它:

    module MyRedminePlugin
      class Hooks < Redmine::Hook::ViewListener
        #adds our css on each page
        def view_layouts_base_html_head(context)
          stylesheet_link_tag("my_css_file", :plugin => "my_redmine_plugin")
        end
      end
    end
    

    然后你必须把你的 css 和 js 文件放在你的插件中的 assets/stylesheets 或 assets/javascripts 文件夹中。

    【讨论】:

      【解决方案2】:

      我不确定Redmine,但我之前创建了一个Gem,with its own asset payload

      如果您正确连接到您的 Rails 应用程序,这会将资产附加到您自己的资产管道中,允许您引用它们,就像它们存储在本地一样。

      您可以将它们放入:

      -- [gem root]
      |-- assets
        |-- images
          |-- [here]
      |-- vendor
        |-- assets
          |-- [or here]
      

      【讨论】:

      • 感谢您的回答,但如果我是对的,您也使用管道:config.assets.precompile += %w(exception_handler/error.css)
      • 是的,但应用程序的功能不依赖于它。此外,预编译命令在引擎中,所以我看不出它会有什么不同?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 2011-11-08
      • 2011-12-10
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      相关资源
      最近更新 更多