我正在使用带有bundler的rails 3,我使用bundler安装了一个gem,现在我需要通过修改gem的控制器来稍微修改gem的流程,我该怎么做,我敢肯定有一个命令在本地安装文件,所以我可以修改它,我试图通过创建另一个具有相同名称但听起来不起作用的控制器来覆盖控制器。
答案 0 :(得分:9)
将它放在github上,进行更改并将gemfile指向forked repo,如下所示:
gem "contact-us", :git => "git://github.com/eqbal/contact-us.git"
答案 1 :(得分:3)
你应该能够制作一个控制器,从gem控制器继承并覆盖你认为合适的方法行为
class MyController < ContactUs::ContactsController
def create
# my code that changes the behavior
end
end
然后你可能要告诉你的路线去你的控制器
resources :contacts,
:controller => 'my_controller'