问题标签 [settingslogic]

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.

0 投票
1 回答
595 浏览

ruby-on-rails - Rails:使 Settingslogic 与 Cucumber 一起工作

我似乎无法对包含由Settingslogic管理的字符串的视图运行 Cucumber 测试。

如何将 Settingslogic 添加到我的测试环境中以便通过?

我试过了:

配置/环境/test.rb

配置/环境/cucumber.rb

功能/支持/env.rb

0 投票
2 回答
549 浏览

ruby-on-rails - Rails:用户可以访问设置逻辑?

我的应用程序配置了我喜欢的Settingslogic。我的问题是如何在我的 Rails 应用程序上创建一个页面,管理员可以在其中更改config/settings.yml??中指定的设置。

我假设所述页面必须读取并显示 YAML 文件中所有值的适当表单字段,然后将这些值保存回config/settings.yml? 这些设置会立即生效还是需要重新启动服务器?

有点迷失在这里。谢谢。

相关:Rails 应用程序设置?

0 投票
1 回答
543 浏览

ruby-on-rails - 在 Rails 2.3 中运行单元测试时,SettingsLogic 不起作用

运行某些单元测试(使用 Ruby/Rails 中包含的 Test::Unit 模块)调用使用某些 SettingsLogic 功能的方法时,我收到此错误:

RuntimeError: Called id for nil, 错误地是 4 - 如果你真的想要 nil 的 id,使用 object_id

更具体地说,我编写了一些单元测试来测试我的模型中的一些方法。这些方法使用 SettingsLogic 功能,但似乎这里发生了一些错误。我运行了一个测试控制台并检查了设置类是否已定义。但是,我无法访问我的设置值哈希。

而在开发环境中我得到:

我正在手动运行测试,即不是使用 rake 测试而是使用ruby unit/my_model_test.rb

settings.rb 模型如下:

和 application.yml 设置文件:

RUBY 版本:ruby 1.8.7 (2010-06-23 patchlevel 299) [i686-linux]
RAILS 版本:2.3.10
设置逻辑:2.0.6
谢谢!!

0 投票
0 回答
2701 浏览

ruby-on-rails - Settingslogic 缺少设置错误

我的 Rails 应用程序中的 Settingslogic 有一个奇怪的问题。

我在 config/application.yml 中有这个:

这在settings.rb中:

当我尝试运行“rails 服务器”或“rails 控制台”时,Settingslogic 会在 sesssion_secret 上引发 MissingSetting 错误。

我在我的 secret_token.rb 初始化程序中引用了 session_secret。但是,我也在我的应用程序中使用 Resque,并且该初始化程序在 secret_token.rb 之前加载,它可以访问 Redis 设置...

此外,如果我取出默认部分并将值复制到开发和测试部分,Rails 将启动。

像这样:

任何人都知道为什么会发生这种情况以及如何解决它?

0 投票
0 回答
928 浏览

ruby-on-rails - rails 3 settingslogic未初始化常量Settingslogic错误

我正在尝试在我的应用程序中设置设置:

在 app/models/_settings.rb

在 config/app_config 中:

在我的 app/helpers/kanbanFacade.rb 第 98 行:

我仍然收到此错误:( uninitialized constant KanbanFacade::Settings在我的应用程序助手第 98 行)

为什么会这样?

0 投票
1 回答
184 浏览

ruby - Ruby 配置:替换开发环境的嵌套键值不起作用

案例:开发环境日志级别为DEBUG,生产环境日志级别为INFO。如果环境 == 开发,我想使用每个默认日志配置并仅覆盖级别。

问题:可以覆盖第一级配置,但不能覆盖子级别。

考虑示例代码:

在主文件中,我像这样使用上面的代码

我收到一个方法丢失错误:

我唯一的(丑陋的)解决方案是将文件和频率值恢复为默认值,如下所示:

哎呀!讨厌!

还有其他建议吗?我也尝试使用 SettingsLogic 和 Configatron 来实现类似的东西,但无济于事。这里有 Ruby 的三个顶级配置 gem。我需要自己做吗??这真的是一个奇特的例子吗?

希望您的反馈或建议。

0 投票
1 回答
905 浏览

ruby - 如何在 ruby​​ 项目中使用 SettingsLogic gem?

根据GitHub页面,可以在 Ruby 项目(Rails 之外)中使用 SettingsLogic,但没有文档向您展示如何使用。

谁能向我提供一些示例代码,说明它如何与缺少 Rails.env 之类的东西一起工作?

0 投票
2 回答
150 浏览

ruby-on-rails - 如何在请求之间重置 ruby​​ 类访问器?

我正在研究电子商务解决方案,它在单个 Rails 应用程序中提供了几个不同的商店。

我有一个类来保存特定于商店的设置。

商店::初始化!从配置文件加载指定部分

这是 yml 文件以防万一:

我在应用程序控制器中按域名匹配请求的商店。

问题是 Shop 在请求之间以某种方式保留了第一个请求的商店的设置。例如:

shop1.com

shop2.com

它会保留初始设置,直到我对 application_controller.rb 或 shop.rb 进行一些更改。(我认为这是答案的第一把钥匙)

我所知道的是 Settingslogic 为 shop.yml 中的每个选项定义了 attr_accessor (仅在第一次调用时)。但是为什么它们在重新加载后仍然有效(我在 cache_classes = false 的开发环境中工作)

当我这样做时:

它按预期工作 - 它每次都会加载适当的设置。但我不能在这个阶段按域设置商店名称。当我无法从外部指定 shop_name 时,我也无法测试不同的商店。所以我需要一个方法。

我试过class_eval

但这没有帮助。我觉得这里缺乏关于范围界定的知识。你有什么想法吗?提前致谢。

0 投票
1 回答
191 浏览

ruby-on-rails - Rails 应用程序设置和测试

在我的应用程序中,我使用SettingsLogic来处理应用程序的设置(例如 facebook 令牌等),这是一个基本上解析 config/application.yml 文件并提供对其内容的轻松访问的 gem。

使用此配置文件来启用或禁用对整个应用程序的 i18n 支持,因为该应用程序更像是许多子应用程序的核心应用程序。

因此,在我的routes.rb中,我执行以下操作:

或在模型中:

我想测试应用程序如何响应两种状态:何时关闭 i18n 以及何时打开。

我的问题是 Rails 初始化时从配置文件中读取状态。因此,当我运行测试时,我只能运行与 i18n.enabled 为 false 相关的测试,然后更改我的配置文件并运行与 i18n.enabled 为 true 相关的测试。

有什么方法可以在两次测试之间重新初始化应用程序吗?(我正在使用 Rspec)或者我应该以某种方式自动为两个 i18n 案例运行 2 个单独的测试文件?或者也许有更好的方法?

谢谢 !

编辑

至于路线问题,我设法通过更改我的设置并明确重新加载路线来使规范通过:

但是我仍然觉得这并不理想,那么模型中定义的东西呢?我可以在运行规范之前重新加载我的模型吗?不会重复回调之类的东西吗?

0 投票
1 回答
881 浏览

ruby-on-rails - 动态设置逻辑设置

我在我的 Rails 应用程序(Ruby 2.0.0p247 / Rails 3.2.13)中使用了settingslogic gem。

我可以在不嵌套时动态更改设置,例如

但我无法以相同的方式更改嵌套属性:

我究竟做错了什么?