我有一个Rails引擎(别人的宝石)我试图通过添加另一个gem作为依赖来修改。我似乎无法弄清楚如何让引擎需要库。我尝试了各种不同的东西,但我似乎无法让它发挥作用。
我的主应用程序Gemfile我有引擎:
gem 'enginegem'
在发动机的gemspec我有:
s.add_dependency 'somethinggem', '~> 1.0'
在引擎中,我试图通过添加此acts_as_something
方法来修改模型:
class Page < ActiveRecord::Base
acts_as_something
end
我想修改一个控制器:
class PagesController < ApplicationController
around_filter :do_something
def do_something
my_var = 'foobar'
Something.do_something_with my_var do
yield
end
end
end
将此库作为依赖项添加到引擎并使其需要库的适当方法是什么?
答案 0 :(得分:1)
如果你告诉我们你要修改哪个宝石,那会有所帮助。
在大多数宝石中你会有一个lib / enginegem.rb,可能是需要宝石的最佳位置:
require 'somethinggem'
编辑:虽然这个答案对OP没有帮助(见下面的评论),但我会保留在这里,因为它可以帮助其他人。
编辑2:每个尝试创建引擎的人都应该查看devise的代码。如果你想要更多的教学方法,试试Jose Valim的Crafting Rails Applications书。事实上,如果你对这个引擎很认真,你应该同时做这两件事。