我有一个rails应用程序正在运行,还有一个基于JS的Web应用程序,另一个为我们写的,从public / gui目录提供。现在,我手工复制gui /文件。我正在创建一个带有GUI文件的Gem。我已经看到了需要的railscast 来自其他资产的javascript,但不是从公共/提供html和JS的时候。该怎么做?是否有可以从bundle安装中自动调用的安装后脚本,可以将文件从Gem目录复制到public / rails应用程序?或者有更好的方法吗?
答案 0 :(得分:1)
是的,可以按照以下步骤进行操作
在gem的根目录中创建一个名为app / assets / javascripts的目录,将你的js文件放在这个文件夹中
您只需在宝石中添加引擎类,假设您的宝石位于图表
您只需在lib / chart目录中创建名为engine.rb的文件
module Chart
class Engine < Rails::Engine
end
end
3。 您必须在lib / chart.rb
中要求 engine.rbrequire "chart/engine"
4。 在rails应用程序中打开app / assets / javascripts / application.js并添加以下行
//= require chart
这将包括app / assets /下的所有资产,就像我们在Rails应用程序中包含资产一样