Mik*_*ona 4 plugins controllers ruby-on-rails-3
我正在创建一个Rails 3插件,我想在其中集成控制器,这些控制器将被rails自动考虑为app/controllers文件夹中的"普通"控制器.我怎么能这样做或者从插件中获得自定义控制器的最佳解决方案是什么?我找到了来自guides.rubyonrails.org的文档,但他们已经更改了文档,插件开发不再包含控制器了.
谢谢
您需要在插件中定义一个继承自的类Rails::Engine
.实际上,您想要的功能是引擎.
像这样定义类:
LIB/your_thing/engine.rb
module YourThing
class Engine < Rails::Engine
end
end
Run Code Online (Sandbox Code Playgroud)
然后,您可以app/controllers
在该插件中定义引擎的控制器,并使它们能够整齐地工作,您还需要为它们定义路由,您可以config/routes.rb
在引擎内部执行以下操作:
YourThing::Engine.routes.draw do
resources :things
end
Run Code Online (Sandbox Code Playgroud)
接下来,您需要在您的应用程序中安装引擎:
mount YourThing::Engine, :at => "/"
Run Code Online (Sandbox Code Playgroud)
然后,应用程序将能够使用引擎中的路由.
有关更多信息,我正在编写官方Rails引擎指南,您可以在此处参考.如果您有任何其他问题,请告诉我,我会尽力在指南中回答.
归档时间: |
|
查看次数: |
512 次 |
最近记录: |