1

我正在使用带有 bundler 的 rails 3,我使用 bundler 安装了一个 gem,现在我需要通过修改 gem 的控制器来稍微修改 gem 的流程,我应该怎么做,我确定有一个命令在本地安装文件以便我可以修改它,我试图通过创建另一个具有相同名称但听起来不起作用的控制器来覆盖控制器。

4

2 回答 2

9

在 github 上 fork 它,进行更改并将您的 gemfile 指向分叉的 repo,如下所示:

gem "contact-us", :git => "git://github.com/eqbal/contact-us.git"
于 2012-06-04T19:39:32.107 回答
3

您应该能够制作一个控制器,从 gem 控制器继承并覆盖您认为合适的方法行为

class MyController < ContactUs::ContactsController
  def create
    # my code that changes the behavior
  end
end

然后你可能不得不告诉你的路线去你的控制器

resources :contacts,
  :controller => 'my_controller'
于 2012-06-04T19:32:22.263 回答