【问题标题】:In Rails < 3, rake task to copy vendor plugin assets to public vendor assets folder?在 Rails < 3 中,将供应商插件资产复制到公共供应商资产文件夹的任务?
【发布时间】:2011-11-10 21:14:33
【问题描述】:

我是 Rails 新手。我一直在对供应商插件的资产目录中的资产资源(例如 javascripts)进行一些工作,并且讨厌每次更改文件以将其复制到公共资产文件夹中的适当位置时都必须重新启动 webrick。

例如从 vendor/PLUGIN/assets 到 public/plugin_assets/PLUGIN

我正在尝试找出服务器脚本触发什么任务来完成此任务,以便我可以在我的 IDE 中添加快捷方式任务。我们将在某个时候迁移到 Rails 3.1,但现在我需要一些快速而肮脏的东西,不需要更改代码库或引入依赖项。有人知道这是在哪里做的吗?我最终可能会调试该死的东西以查看发生这种情况的位置,或者纠正一个简单的 'cp -r' 类型的脚本。当然肯定有一些更容易的东西......

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-plugins assets


    【解决方案1】:

    我终于找到了我要找的东西:

    vendor/plugins/engines/lib/engines.rb
    

    在其中包含 Engines.mirror_files_from 方法。于是我写了一个rake任务:

    require "vendor/plugins/engines/lib/engines.rb"
    
    namespace :myspace do
      desc 'Mirror plugin assets with public assets folder'
    
      task :mirror_assets do
        plugin = "PLUGIN_NAME"
        Engines.mirror_files_from("vendor/plugins/#{plugin}/assets",
          "public/plugin_assets/#{plugin}")
      end
    end
    

    【讨论】:

      【解决方案2】:

      只需在插件中创建一个生成器。

      See the example from my gem.

      【讨论】:

        猜你喜欢
        • 2012-02-04
        • 1970-01-01
        • 2016-08-17
        • 2014-11-16
        • 2018-11-14
        • 2013-10-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多