gpt4 book ai didi

ruby-on-rails - Rails 引擎应该附带 environment.rb 吗?

转载 作者:行者123 更新时间:2023-12-01 02:27:46 24 4
gpt4 key购买 nike

我最近创建了我的第一个 Rails 引擎。 /config唯一的东西是 routes.rb - 否 environment.rbapplication.rb或类似的东西。

当我安装 rspec-rails gem 并尝试运行我的规范,我收到一个错误,说它找不到 environment.rb ,这并不奇怪,因为 environment.rb不存在。

令我困惑的是,我所拥有的证据告诉我,必须是以下两种情况之一:

1) Rails 引擎没有 environment.rb并且您应该创建 environment.rb , application.rb等。 这似乎不太可能。

2) Rails 引擎确实带有 environment.rb ,但无论出于何种原因,我的引擎碰巧丢失了它。 这似乎也不太可能。 不过,我对这个引用 environment.rb 的答案感到困惑。在引擎中:Testing Rails 3.1 mountable engine with Rspec

所以我的问题是: Rails 引擎是否应该带有 environment.rb ,如果没有,如果您想要/需要一个,您应该如何创建一个?

最佳答案

使用虚拟应用程序的 environment.rb文件。

要设置 RSpec:

将以下内容添加到您的 spec_helper.rb文件。

ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../test/dummy/config/environment", __FILE__)
...

添加引擎根目录也很有帮助。
ENGINE_RAILS_ROOT = File.join(File.dirname(__FILE__), '../')

如果您想访问引擎的路由助手,请在 RSpec.configure 中添加以下内容堵塞。
# This will include the routing helpers in the specs so that we can use
# <engine>_path, etc., to get to the routes.
config.include <RailsEngine>::Engine.routes.url_helpers

希望有帮助。

关于ruby-on-rails - Rails 引擎应该附带 environment.rb 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15030678/

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