来自插件的 Rails 3 控制器

2024-06-25

我正在创建一个 Rails 3 插件,我想在其中集成控制器,rails 将自动将其视为 app/controllers 文件夹中的“普通”控制器。我该如何做到这一点,或者从插件获得自定义控制器的最佳解决方案是什么? 我找到了文档指南.rubyonrails.org http://guides.rubyonrails.org但他们已经更改了文档,并且插件开发不再包含控制器。

Thanks


您需要在插件中定义一个继承自的类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 Engine 指南,该指南你可以参考这里。 http://ryanbigg.com/guides/engines.html如果您还有任何其他问题,请告诉我,我会尽力在指南中回答这些问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

来自插件的 Rails 3 控制器 的相关文章

  • 在rails生成脚手架中跳过JSON格式

    当您使用类似命令生成 Rails 脚手架时rails g scaffold Thing有什么办法可以避免变得烦人吗 respond to do format format html index html erb format json re
  • Rollup & Plugins 能否将大多数遗留库转换为 es6 模块?

    我们团队的项目内部完全是es6模块 ESM 但是有依赖项还没有制作esm版本 我们创建了各种解决方案 但它们绝对不是现代的主流解决方案 我指的是将旧格式转换为 esm 的 Rollup 工作流程 或同等学历 那么问题来了 现在是否有 Rol
  • 使用设计宝石导轨注销用户

    在管理部分 我显示当前登录用户的列表 现在管理员可以选择一个或多个用户并销毁他们的会话 注销他们 我不知道从哪里开始 请帮助我 您可以使用sign out通过传入用户对象在控制器操作中的方法 Make sure only admins ca
  • 通过 SSL 发布 UTF-8 时,HEROKU 上出现“EOFError:已到达文件结尾”

    我在 heroku 上遇到了奇怪的错误 为了重现它 我必须使用请求正文中的任何 UTF 8 字符制作大的 超过几 KB HTTPS POST 这是一个例子 require net https require uri Accutally I
  • URL 路由中的点与命名空间 Rails 3.1

    我有这个路线 rb root to gt posts index devise for users controllers gt omniauth callbacks gt users omniauth callbacks resource
  • 如何在 Rails 3 控制器生成器中使用 `--helper` 标志?

    文档来自rails generate controller says helper Indicates when to generate helper Default true 现在 它没有指定如何指示值 因此 由于默认值为 true 这意
  • Rails 中过滤长日志参数

    我允许用户在我的网站上上传文件 其中一些文件可能非常大 并且占用了我的日志文件的很大一部分 所以我不想让它出现 我知道 config filter parameters password 过滤某些参数 但问题是参数位于这样的哈希中 pers
  • 为什么我的 dropzone javascript 表单不起作用?

    HELP 我正在构建网站的前端 并使用 dropzone js 进行图像上传 现在我已将 dropzone min js 和 dropzone css 包含在头部中 并将 dropzone 类分配给我想要转换的标签 尽管如此 表单字段并未变
  • 我应该使用 Node.js 而不是 Rails 来实现实时 Web 应用程序吗?

    我正在构建一个复杂的网络应用程序 该应用程序必须大量处理实时数据并向用户显示该数据 鉴于我更习惯Rails 我想知道转储rails并使用node js来构建应用程序是否有很大的优势 或者是否有一种方法可以在Rails中拥有Node js的实
  • Rails 3.0 中的 f.error_messages

    Rails 3 0 已弃用f error messages现在需要一个插件才能正常工作 然而我想学习如何以 新的 本机方式显示错误消息 我正在关注入门指南 http edgeguides rubyonrails org getting st
  • 生成唯一的用户名(omniauth + devise)

    我有一个使用 devise omniauth 进行用户身份验证的应用程序 在我的模型中 我的应用程序中的用户名是unique 我不想在我的应用程序中出现重复的用户名 Facebook 中的某些用户在其个人资料中没有定义用户名 如果用户没有在
  • 哪些工具向 Bugzilla 或 Mylyn 提供燃尽图? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我和我的团队需要使用 Mylyn 开发一个项目 该项目的错误已在 Bugzilla 中归档 您是否知道有
  • 构建 Jenkins 插件时如何获取编译器警告

    我正在编写一个 Jenkins 插件 但对 Java 和 Maven 都是新手 当我在 intelliJ 中构建插件时 我收到了我期望看到的所有编译器警告 例如弃用警告 但我找不到通过命令行进行编译的方法来显示这些警告 例如使用 mvn h
  • Heroku dyno/worker 在开始时崩溃

    我有一个用 Rails 编写的应用程序 部署在 Heroku 上 我以前一直在开发1个web dyno 但是今天我发布了应用程序 流量相当大 所以我决定增加到4个web dyno和1个worker dyno 我不知道为什么当我这样做时总是h
  • Rails 3,i18n:将 html 标签插入文本

    我的问题正是中描述的问题这个问题 https stackoverflow com questions 2543936 rails i18n translating text with links inside 唯一的区别 我使用的是 Rai
  • Heroku 带宽和空间

    Heroku 对于免费应用程序支持多少流量带宽和磁盘空间 Heroku 免费版有一个 5 MB 的数据库和 1 个 dyno dyno 是运行并响应请求的应用程序的实例 此外 您的 slug 的大小有 100 MB 的限制 这包括您使用的所
  • 为什么在安装 gem 'pg' 时出现错误? [复制]

    这个问题在这里已经有答案了 可能的重复 无法在 ubuntu 上安装 pg gem 找不到 libpq fe h 标头 https stackoverflow com questions 6040583 unable to install
  • 在 Rails 3 中使用 jQuery 插件

    完成哈特尔的伟大导轨教程我现在正在努力实现非常好的目标jQuery 新手到忍者由卡斯尔丁和沙基创作 虽然我能够在我的 Rails 项目中包含 jquery js 和 jquery ui js 但在添加其他 jQuery 插件时我遇到了困难
  • Rails:Belongs_to 多态关联 + 条件

    所以我有这个模型 class Model lt ActiveRecord Base attr accessible to id to type belongs to to polymorphic true end 我想知道当 own to
  • 如何在 Rails for Android 中使用 gzip 压缩 JSON?

    我正在运行 Rails 3 2 7 和 Ruby 1 9 3p194 以从 SQLite 数据库输出 JSON 数据 render json gt result to json Android 应用程序使用通过以下方式加载的 JSON 文件

随机推荐

  • 了解参考处理程序线程

    我正在继续深入了解 Java 线程 不幸的是我的 Java 认证没有涵盖这一部分 所以唯一的学习方法就是发布一系列愚蠢的问题 经过这么多年的 Java 开发 我有时想知道我还需要学习多少 我现在特别关注引用处理程序线程 Reference
  • 打字。任何 vs 对象?

    使用之间有什么区别吗typing Any相对于object在打字 例如 def get item L list i int gt typing Any return L i 相比 def get item L list i int gt o
  • 如何快速将 void 块传递给 objc_setAssociatedObject

    我正在尝试通过扩展向 UIView 添加点击手势支持 使用 Objective C 非常简单 但是当我尝试在运行时属性上设置 void 返回块时 出现以下错误 错误 类型 gt Void 不符合协议 AnyObject 这是计算的属性 va
  • 如何计算整数中零位的数量?

    我将如何找到 C 中 零 位的数量 假设我有一个整数 int value 276 我有位 100010100 但是如何计算零呢 如果你想要效率 那么 Hackers Delight 一书中有一个很好的实现 22条指令无分支 unsigned
  • 如何使用javascript计算另一个div内的div总数

    如何计算总数div包含在另一个元素中的元素div使用JavaScript The getElementsByTagName 不仅是一个document方法 但可以在任何 DOM 元素上运行 element 按标签名称获取元素是 如同docu
  • 生成多边形内的坐标

    我想将多边形的值分组到一个精细的规则网格中 例如 我有以下坐标 data 2 353 data lats np array 57 81000137 58 15999985 58 13000107 57 77999878 data lons
  • 通过 Javascript 在聚合物元素模板内添加或附加 HTML

    为了使轮播功能在 Polymer 元素内部工作 我以编程方式在元素脚本内部创建 Slick 轮播所需的标记 假设在此代码片段中 this videos 已作为包含 youtube 视频信息的对象数组加载 特别是 id 和 name 属性 C
  • 如何在每次输入退出或取消时中断表单流程?

    我正在使用 BotFramework 在 Net C 中创建一个聊天机器人 在我的一个对话框中 当我开始填写表单流程时 我无法退出流程 直到我填写所有流程为止 是否存在退出和离开表格的可能性 这是我的代码 路易斯对话框 cs LuisInt
  • 注销不会在 FOSUserBundle 中正确销毁/清除会话

    我遇到了一些问题 不知道为什么 当我从由 FOSUserBundle 处理的应用程序注销时 因为当前会话永远不会被破坏 甚至不清楚当我重新登录时会导致问题 因为我在会话上存储了一些数据 这就是我的security yml好像 securit
  • Windows / Powershell 将程序版本获取到变量中

    我很接近 但不在那儿 我可以通过 powershell 获取应用程序的版本 但它附带一堆文本 这个命令 powershell NoLogo NoProfile Command get item Path c myapp exe Versio
  • Material UI + 酶测组件

    我在 React 中有一个组件 我正在尝试用 Jest 测试它 不幸的是测试没有通过 组件代码 import React Component from react import ProductItem from ProductItem Pr
  • 如何在 Kendo UI 网格中合并单元格

    我在 Kendo UI 的官方文档中没有看到任何内容 只是检查是否有人进行了自定义以合并 Kendo UI 网格中的单元格 我有这样的内容 Technology Core Language Communication 15 Technolo
  • 安装 sqlite3 公共密钥环时出错,未找到

    怎么了 我该如何安装它 PS C Users luism gt gem install sqlite3 暂时增强 MSYS MINGW 的 PATH 安装所需的 msys2 软件包 mingw w64 x86 64 sqlite3 警告 未
  • 对 python 中 libsvm/scikit-learn 库的某些功能进行建模的一些疑问

    我已经抓取了很多 eBay 标题 例如 Apple iPhone 5 White 16GB Dual Core 我已经用这种方式手动标记了所有这些 B M C S NA 其中 B 品牌 Apple M 型号 iPhone 5 C 颜色 白色
  • 我是否应该显式发送刷新令牌来获取新的访问令牌 - JWT

    在我的应用程序中 当用户成功登录时 我返回访问令牌和刷新令牌 访问令牌和刷新令牌的过期时间已分别设置为 10 分钟和 40 分钟 我应该对这些值做更多研究 这只是为了测试 我使用了下面文章中描述的实现 http www svlada com
  • 在 ScriptMain.cs 之外的另一个类中使用 SSIS 变量

    我在 SSIS 中有一个 C 脚本任务 我可以毫无问题地传递变量 我在脚本中创建了另一个类 称为 otherclass cs 如何在 otherclass cs 中使用该变量 我尝试这样做 urlBase Dts Variables Use
  • 获取打字稿中的函数名称

    我正在寻找一种方法来获取传入参数的函数名称 console clear class A test testCall fnc Function console log fnc name i want it display test here
  • Apache POI 编号列表

    我在用apache poi在 MS Word 文档中写入一些数据 我已经花了几个小时试图弄清楚如何创建编号列表但我还没有取得任何成果 我已经经历过this https stackoverflow com questions 31310020
  • Jenkins email-ext 插件不发送邮件

    我的机器上安装了 Jenkins 版本 1 480 3 和电子邮件扩展插件 2 30 2 来自 管理詹金斯 部分的测试邮件工作正常 当我向我的职位添加可编辑的电子邮件通知时 我没有收到它 还尝试在可编辑电子邮件通知高级部分中配置 触发器 那
  • 来自插件的 Rails 3 控制器

    我正在创建一个 Rails 3 插件 我想在其中集成控制器 rails 将自动将其视为 app controllers 文件夹中的 普通 控制器 我该如何做到这一点 或者从插件获得自定义控制器的最佳解决方案是什么 我找到了文档指南 ruby