【问题标题】:How do I publish vendor/_____/public/* files?如何发布 vendor/_____/public/* 文件?
【发布时间】:2010-08-19 15:07:09
【问题描述】:

我已经在我的 Rails 应用程序中安装了一个插件。该插件的公共目录中有我想要提供的文件。

例如,vendor/plugins/myplugin/public/javascripts/myplugin.js。我可以在 /javascripts/myplugin.js 上通过 Rails 提供它吗?

我已经通过将文件从 vendor/plugins/______/public/* 复制到 public/* 来实现它,但这似乎是个坏主意。

【问题讨论】:

    标签: ruby ruby-on-rails-plugins


    【解决方案1】:

    我认为这只有在您将插件制作成引擎时才有效。引擎可以更深入地访问 Rails 初始化过程,以便添加额外的静态资源路径。

    这是我的 engine.rb 文件的 sn-p 文件:

    module MoxieForum
      class Engine < Rails::Engine
    
        initializer "static assets" do |app|
          app.middleware.use ::ActionDispatch::Static, "#{root}/public"
        end
      end
    end
    

    我最近写了一个方便的起点,用于创建一个内置了这个和许多其他基本功能的 rails 3 引擎:

    http://keithschacht.com/creating-a-rails-3-engine-plugin-gem

    【讨论】:

    • 有趣的故事,您的博客文章将 Jon Swope 列为来源。我碰巧和乔恩一起工作。 :)
    • 大声笑,你绕着办公室走了很长一段路。 :)
    【解决方案2】:

    至少使用 rails 2.1 复制曾经是“唯一的方法”(我认为它可能仍然是,尽管您可以使用 mod_rewrite apache 模块来获取它们...)

    【讨论】:

    猜你喜欢
    • 2019-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-09
    • 2020-07-22
    • 1970-01-01
    • 2019-04-06
    • 1970-01-01
    相关资源
    最近更新 更多