如何在Ruby on Rails gem中包含一个控制器?

Yuv*_*rmi 8 ruby gem rubygems ruby-on-rails ruby-on-rails-plugins

我正在尝试为开源项目做贡献,我需要一个控制器来处理需要提交的几个表单.

我在gem内部的一个目录中创建了这些控制器app/controllers/gemname/my_controller.rb.

但是,当我尝试访问控制器时,似乎没有加载(我得到一个名称错误就像我输入类似NonExistentController的东西).

如何使用gem加载我的控制器?

谢谢!

Mic*_*ley 10

假设您的gem被调用,MyGem并且您有一个SuperController要在应用程序中使用的控制器.您的控制器应定义为:

module MyGem
  class SuperController < ApplicationController
    def whatever
      ...
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

并在创业板上市的目录应该住在app/controllers/my_gem/super_controller.rb(lib文件夹).查看Devise来源,因为他们做同样的事情.

[编辑]您可以从关于当前项目的"开始自己的Rails引擎宝石指南"中学到一些东西.