gpt4 book ai didi

ruby-on-rails-3 - 来自插件的 Rails 3 Controller

转载 作者:行者123 更新时间:2023-12-04 07:20:02 25 4
gpt4 key购买 nike

我正在创建一个 Rails 3 插件,我想在其中集成 Controller ,rails 会自动将这些 Controller 视为 app/controllers 文件夹中的“普通” Controller 。我该怎么做,或者从插件中获得自定义 Controller 的最佳解决方案是什么?
我找到了来自 guides.rubyonrails.org 的文档但他们更改了文档,插件开发不再包含 Controller 。

谢谢

最佳答案

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

像这样定义类:

lib/your_thing/engine.rb

module YourThing
class Engine < Rails::Engine
end
end

然后,您可以在 app/controllers 定义引擎的 Controller 。在该插件中,为了让它们整齐地工作,您还需要为它们定义路由,您可以在 config/routes.rb 中执行此操作。发动机内部是这样的:
YourThing::Engine.routes.draw do
resources :things
end

接下来,您需要在应用程序中安装引擎:
mount YourThing::Engine, :at => "/"

然后,应用程序将能够使用来自引擎的路由。

有关更多信息,我正在编写官方 Rails 引擎指南,其中 you can reference here.如果您有任何其他问题,请告诉我,我会尽量在指南中回答。

关于ruby-on-rails-3 - 来自插件的 Rails 3 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7926115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com