rails-engines相关内容

我可以从安装它的真实应用程序运行 Rails 引擎的规范吗?

我有一个 Rails 引擎,旨在为我们更大的项目提供一些模型和控制器.引擎有一套相当不错的规范,在引擎的虚拟应用程序中使用了一堆模拟和一些全尺寸模型和控制器,以确保引擎正在做它应该做的事情并与更大的应用程序一起工作. 然而,即使所有测试都通过了,当我在更大的应用程序中更新引擎时,我经常发现有问题.如果我的测试通过但行为被破坏,显然测试有问题,但是什么?是我嘲讽太多,还是不够? 为了让我 ..
发布时间:2022-01-02 10:16:26 其他开发

一种将 before_filter 从引擎添加到应用程序的方法

没有很多具体的代码,这只是模糊的,但我会提供我能提供的. 给定一个 rails 引擎,一个基本引擎,而不是它自己空间中的可安装引擎,我如何使来自引擎的方法可用于应用程序作为应用程序控制器的 before_filter? 我一直在浏览 Devise 代码,因为我想要的内容与我使用 Devise 的经验相似,但我承认我不太了解我正在阅读的内容. 如果我将 include Myengi ..

如何在 Rails 引擎中使用 ActiveSupport::Configurable

我想给我的 rails engine gem 一个合适的配置可能性.在 initializers/my_gem.rb 中看起来像这样的东西 (链接到当前初始化程序): MyGem.configure 做 |config|config.awesome_var = true# config.param_name = :page结尾 所以我四处寻找其他 gem 中的任何线索,我找到的最好的就是这个 ..

在 Rails 引擎规范中使用正确的 url_for 方法

我在 Rails 引擎中有一个请求规范.呈现的视图调用路由并传入一个哈希值,即 projects_path(:scope => "user").像这样的路由最终会调用url_for,但是url_for 是在很多地方定义的.在主应用程序(根级别)中运行应用程序或运行请求规范时,调用链结束于 ActionView::RoutingUrlFor#url_for;然而,当在引擎中运行规范时,调用链最终位于 ..

Ruby On Rails 3 中轨道和引擎之间的差异

我阅读了一些关于这些论点的文件,但我没有清楚地理解它们是什么,它们之间有什么区别,以及它们中的一个是否符合我的需要. 我需要编写一个可以插入其他应用程序的应用程序,我想将它作为 gem 包含在其他应用程序中.基本上我需要几个模型,一个控制器,没有视图,加上一些初始化,支持来自托管应用程序和生成器的配置参数. 我走对了吗? 我应该阅读什么来了解如何做到这一点? 更新: ..

在主应用程序中扩展 Rails 3 引擎的控制器

我在我的应用程序中使用 Rails 引擎作为 gem.引擎有 PostsController 和许多方法,我想在我的主应用程序中扩展控制器逻辑,例如添加一些方法.如果我只是在主应用程序中创建 PostsController,则不会加载引擎的控制器. 在Rails引擎扩展功能中提出了一个基于改变的解决方案ActiveSupport::Dependencies#require_or_load ..
发布时间:2021-12-12 11:01:20 其他开发

Rails Engine - Gems 依赖项,如何将它们加载到应用程序中?

我正在这里做一个引擎,它可以独立工作. 当我将其转换为 gem 并将其加载到另一个应用程序中时,我收到了很多未定义的错误,这些错误来自于我的引擎 gem 的依赖项. 这是 gemspec: s.add_dependency('回形针')s.add_dependency('jquery-rails')s.add_dependency('rails3-jquery-autocomplet ..
发布时间:2021-12-12 11:00:59 其他开发

Rails 3 引擎 &静态资产

我正在构建一个作为 gem (gmaps4rails) 捆绑的引擎.我将引擎的/public 复制到了 Rails 应用的/public 中. 在开发中一切正常,但在生产中无法正常工作:似乎找不到(我的引擎和我的主应用程序的)静态资产. 日志说明以下内容(只是摘要): 在 2010 年 11 月 24 日星期三 00:22:20 +0100 开始为 127.0.0.1 获取“/jav ..
发布时间:2021-11-30 12:09:32 其他开发

如何在 Rails 引擎中自动重新加载更改?

我有一个 Rails 4.1.0 可安装引擎.在引擎的 application_helper.rb 中: 模块 MyEngine模块应用助手def test123“测试123"结尾结尾结尾 方法在虚拟应用的视图general/index.html.erb视图中: % 这有效.但是,当我更改 def test123 返回的字符串并刷新浏览器时,新字符串没有显示. 当然,在虚拟应用程序中 ..
发布时间:2021-07-13 19:36:58 其他开发

Rails 引擎中的自定义视图脚手架

我正在尝试从我的引擎中获取自定义脚手架. 我遵循了一些关于在普通 Rails 应用程序中自定义 Rails 3.2 脚手架的教程,并将我的自定义模板放在引擎 /lib/templates/erb/scaffold 目录中,但它们没有被包含引擎的应用程序.有什么建议吗? 更新:我还尝试覆盖 Rails ScaffoldGenerator 的 source_path 并尝试其他一些路径来放 ..

i18n 路由到已安装的引擎 - 忽略语言环境

我有一个应用程序 (my_test_app),内置了 i18n 支持.目前,有两种语言文件可用,FR &CN,如果我在它们之间来回切换,对于非引擎功能(例如用户索引/显示/编辑/删除 (ISED) 选项),一切都如我所料. 在 my_test_app 中,我安装了一个 Rails 引擎 (my_engine),它有一个控制器 &模型集(engine_job).所以,一个可行的 URL 应该是 ..

如何在 Rails 3.2.x 引擎中使用 SASS、HAML 和 CoffeeScript?

目前,我有一个使用 sass-rails 的 Rails 3.2.9 引擎.当我生成带有几个动作的控制器时,也会生成资产(即 javascript 和 CSS).但是,Javascript 和 SASS 都是 *.js 和 *.css 文件.它们不是 CoffeeScript (*.js.coffee) 或 SASS (*.css.sass).任何想法如何获得这项工作? 解决方案 这是一个 ..
发布时间:2021-07-13 19:09:39 其他开发

如何在主应用程序中覆盖 Rails 3 引擎模型和控制器?

我希望能够在基础应用中覆盖 Rails 3 引擎的模型和控制器. 检查 $LOAD_PATH,我在那里找到了引擎的 'app/{models,controllers}',但我不能明确要求引擎的模型或控制器文件: require 'engine_name/model_name' 失败并显示“没有这样的文件"(尝试使用命名空间(app/controllers/enginename/*)和普通引擎 ..
发布时间:2021-07-13 19:05:40 其他开发

当应用程序和包含的 AppEngine gem 定义具有相同名称的控制器时,如何访问所有路由?

我有一个引擎(由我/我工作的公司开发),我们在几个不同的项目中使用它.我刚刚将它转换为与带有资产管道的 rails 3.1 一起使用,并且一切似乎都在工作......在大多数情况下. 我的问题是我需要使用一些特定于应用程序的香料来扩展 UsersController 的功能,但我不确定最好的方法.引擎没有定义 Users#show 动作,但这个应用确实需要它,所以我添加到路由文件中: Jo ..