加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-3 – 来自插件的Rails 3控制器

发布时间:2020-12-17 03:01:33 所属栏目:百科 来源:网络整理
导读:我正在创建一个Rails 3插件,我想在其中集成控制器,这些控制器将被rails自动考虑为app / controllers文件夹中的“普通”控制器.我怎么能这样做或者从插件中获得自定义控制器的最佳解决方案是什么? 我已经找到了 guides.rubyonrails.org的文档,但他们已经更改
我正在创建一个Rails 3插件,我想在其中集成控制器,这些控制器将被rails自动考虑为app / controllers文件夹中的“普通”控制器.我怎么能这样做或者从插件中获得自定义控制器的最佳解决方案是什么?
我已经找到了 guides.rubyonrails.org的文档,但他们已经更改了文档,插件开发不再包含控制器了.

谢谢

解决方法

您需要在插件中定义一个继承自Rails :: Engine的类.实际上,您想要的功能是引擎.

像这样定义类:

LIB / your_thing / engine.rb

module YourThing
  class Engine < Rails::Engine
  end
end

然后,您可以在该插件中的app / controllers定义引擎的控制器,并让它们整齐地工作,您还需要为它们定义路由,您可以在引擎内部的config / routes.rb中执行此操作,如下所示:

YourThing::Engine.routes.draw do
  resources :things
end

接下来,您需要在您的应用程序中安装引擎:

mount YourThing::Engine,:at => "/"

然后,应用程序将能够使用引擎中的路由.

有关更多信息,我正在编写官方Rails引擎指南的进度,you can reference here.如果您有任何其他问题,请告诉我,我将尝试在指南中回答这些问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读