【发布时间】:2016-09-03 08:37:48
【问题描述】:
我正在创建一个机架中间件,我想在我的 Rails 应用程序中使用它。基本上,我需要将匹配特定 url 的请求记录到我的数据库中。为此,我需要将数据库配置传递给我的中间件,以便它可以与数据库建立连接。我正在尝试做:-
db_yml = Rails.root.join('config/database.yml')
db_config = YAML.load(db_yml.read)[Rails.env]
但这会报错
config/application.rb:40:in
<class:Application>': undefined methodread' for # (NoMethodError)
如果我添加 byebug 并在 byebug 控制台中运行它,它工作正常。我无法找出原因。我想做以下事情:-
- 我需要先读取和修改数据库配置,然后再将其作为参数传递给我的中间件。
- 我想读取请求 url 的域。我们正在使用Apartment gem,我们的架构名称将是域名。
【问题讨论】:
标签: ruby-on-rails ruby rack ruby-on-rails-5 rack-middleware