如何修改Rails引擎以要求我的库?

时间:2011-04-09 20:59:07

标签: ruby-on-rails ruby rubygems gem rails-engines

我有一个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

将此库作为依赖项添加到引擎并使其需要库的适当方法是什么?

1 个答案:

答案 0 :(得分:1)

如果你告诉我们你要修改哪个宝石,那会有所帮助。

在大多数宝石中你会有一个lib / enginegem.rb,可能是需要宝石的最佳位置:

require 'somethinggem'

编辑:虽然这个答案对OP没有帮助(见下面的评论),但我会保留在这里,因为它可以帮助其他人。

编辑2:每个尝试创建引擎的人都应该查看devise的代码。如果你想要更多的教学方法,试试Jose Valim的Crafting Rails Applications书。事实上,如果你对这个引擎很认真,你应该同时做这两件事。