问题标签 [railtie]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Rails::Railtie:创建 Rails 3 gem 时遇到问题
我真的可以用另一双眼睛来看待这个,所以我想我会把它贴在这里。不久前,我为自己的教育目的编写了一个基本的 ActiveRecord 扩展。我最近一直在阅读有关 Railties 的文章,并认为我会尝试让它与 Rails 3 一起使用。我想我会把它打包成一个 gem 来了解这个过程。如果我跳过 Railtie,只是在初始化程序文件夹中将其作为传统的猴子补丁执行,则它可以正常工作。使用 Railtie ......什么都没有。
从外观上看,我的 Railtie 从未被执行过,因此似乎没有其他任何事情发生。
有人看到这里有什么问题吗?
也欢迎任何有关最佳实践或改进的建议。
项目宝石文件:
宝石规格:
sql_explain.rb
railtie.rb
sql_explain.rb
ruby-on-rails - Active Record 的简单 Railtie 扩展
我正在创建一个 Rails 3.0.3 gem 并且无法让它工作:
undefined local variable or method 'acts_as_fail'
当我添加acts_as_fail
到我的任何ActiveRecord
模型时,我都会得到。请帮忙!我对这个看似微不足道的代码感到非常沮丧!谢谢!
ruby-on-rails-3 - Ruby On Rails 3 中 Railties 和引擎之间的区别
我阅读了一些关于这些论点的文件,但我并不清楚它们是什么,它们之间有什么区别,以及其中一个是否符合我的需要。
我需要编写一个可以插入其他应用程序的应用程序,并且我想将它作为 gem 包含在其他应用程序中。基本上我需要几个模型,一个控制器,没有视图,加上一些初始化,支持来自托管应用程序和生成器的配置参数。
我走对了吗?
我应该阅读什么来了解如何做到这一点?
更新:
可以在这里找到一篇非常好的文章,其中包含很多细节。
本质上:
Railtie 是 Rails 框架的核心,它提供了几个钩子来扩展 Rails 和/或修改初始化过程。
Rails::Engine 只不过是一个已经设置了一些初始化程序的 Railtie。而且由于 Rails::Application 和 Rails::Plugin 是引擎,所以这里描述的相同配置可以在所有三个中使用。
ruby-on-rails - Railtie Initializer 未在插件中运行
我最近从 gem 版本切换resources_controller
到 aplugin
作为gem
依赖的版本git
。
在vendor/plugins/plugin/lib/plugin.rb
文件里面,Railtie
内容如下:
我在我的require 'resources_controller'
一个初始化程序中添加了一个,它正在正确加载这个文件。问题是,尽管Railtie
被评估(puts
类块中的 a 会命中),但它似乎从未真正调用初始化块本身。这当然很重要,因为这是它扩展ActionController
到包含该resources_controller_for
方法的地方。
这个问题似乎已经出现在这里和这里。尽管在这两种情况下,他们都找到了解决问题的其他方法,并且没有直接回答为什么没有调用该块。
从我在 Rails 文档中可以看出,您可以将初始化程序块命名为您想要的任何名称,并且它应该运行。我认为这并不重要,但我首先在生产中运行时注意到了这个问题,rails s -e production
尽管我相信在开发模式下也存在同样的问题。
可能会发生什么?
作为参考,完整的插件在这里:https ://github.com/ianwhite/resources_controller
ruby-on-rails-3 - 使用 Railties 将路由从 gem 注入到 rails 3 routes.rb(设计问题)
我想使用 railtie 自动注入从我的 gem 到主机应用程序的路由。到目前为止,我有这样的事情:
这是有效的(正在从主机应用程序调用)但是当我尝试访问/fabes
路由或仅列出路由时,它因设计错误而失败:
我不知道我是否可以像这样直接注入路由,或者我必须使用生成器..
对这个问题有什么想法吗?
ruby-on-rails - Rails破坏控制器不起作用
标题里差不多。我和其他人一起做一个项目,然后将 git repo 克隆到我的计算机上,添加了一个新控制器,然后想得更好,于是跑了:
(requests 是控制器的名称),只是得到这个无穷无尽的错误信息:
它以前工作过,所以发生了什么?我可能需要重新安装被覆盖的东西吗?
另外,有什么想法为什么在粘贴我正在学习的rails教程的所有内容时出错?我不记得该文本在我的文件中的任何位置?
谢谢
ruby-on-rails-3 - rails gem不兼容清除和railties,我该怎么办?
我有 rails 3.017 和 clear 1.0.0.rc2 并尝试安装 gem 'jquery-rails', '~> 2.1'
我需要旧版本的 jquery-rails 吗?如果是这样,我该如何解决这个问题?
谢谢乔尔
ruby-on-rails - Railtie:如何访问初始化程序和库加载钩子?
我正在为我的 Rails 应用程序开发一个 gem,它通过 Railtie 加载到其中。我基本上是以旧的 Rails 应用程序样式将模型插入到库和一些初始化程序中。我主要担心的是不知道在整个 Rails 应用程序加载逻辑中我最好将它们插入到哪里。我对它的要求是:gem 初始化程序必须在应用程序初始化程序之前加载,与库相同,初始化程序访问 lib 信息。在 Rails 应用程序工作流程中,它以某种方式工作。我的短期解决方法如下:
所以这样,我确定这些库是在初始化程序之前加载的。只是我很确定有更好的方法可以做到这一点,即访问一些 railtie 钩子,它允许我用应用程序库加载我的库,用应用程序初始化程序加载初始化程序。只是我似乎无法找到它们。
ruby-on-rails - Heroku 推送错误 H10
在过去的几天里,我一直在尝试修复一个在我将应用程序推送到 Heroku 后不断发生的错误。
在 Webrick 上启动时,该应用程序在开发中运行良好,但由于某种原因,Application Error
当我尝试在 Heroku 上加载我的应用程序时,我一直收到一个页面。
我有以下日志报告 - 有谁知道我该如何解决这个问题?
对此的任何帮助真的将不胜感激:)