宝石中的静态文件

时间:2015-06-25 03:01:21

标签: ruby-on-rails ruby rubygems

我有一个rails应用程序正在运行,还有一个基于JS的Web应用程序,另一个为我们写的,从public / gui目录提供。现在,我手工复制gui /文件。我正在创建一个带有GUI文件的Gem。我已经看到了需要的railscast 来自其他资产的javascript,但不是从公共/提供html和JS的时候。该怎么做?是否有可以从bundle安装中自动调用的安装后脚本,可以将文件从Gem目录复制到public / rails应用程序?或者有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

是的,可以按照以下步骤进行操作

  1. 在gem的根目录中创建一个名为app / assets / javascripts的目录,将你的js文件放在这个文件夹中

  2. 您只需在宝石中添加引擎类,假设您的宝石位于图表

  3. 您只需在lib / chart目录中创建名为engine.rb的文件

    module Chart
      class Engine < Rails::Engine
      end
    end
    

    3。 您必须在lib / chart.rb

    中要求 engine.rb
    require "chart/engine"
    

    4。 在rails应用程序中打开app / assets / javascripts / application.js并添加以下行

    //= require chart
    

    这将包括app / assets /下的所有资产,就像我们在Rails应用程序中包含资产一样