ruby-on-rails - 具有多个值的配置变量

标签 ruby-on-rails heroku

在我的 Rails 应用程序中,我有一个功能,我只想向使用特定电子邮件登录的用户开放(我们使用 Devise 进行用户身份验证)。我有一种方法可以检查用户是否是 current_user.is_privileged?

def is_privileged?
 Settings.privileged_users.include?(email)
end 

config/settings/test.yml中,我将特权用户设置为:

privileged_users: ['<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="53303b36203213362b323e233f367d303c3e" rel="noreferrer noopener nofollow">[email protected]</a>', '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="7002111e141f1d301508111d001c155e131f1d" rel="noreferrer noopener nofollow">[email protected]</a>']

另一方面,在生产中我正在考虑使用配置变量,例如:

#config/settings.yml
privileged_users: ENV["PRIVILEGED_USERS"]

我的问题是我是否可以在数组中为该变量设置多个值?我正在将我的应用程序部署到 Heroku。

最佳答案

您可以将数组作为字符串传递,YAML 应该正确解析它。

因此您的设置将保持不变,您的环境变量将是:

PRIVILEGED_USERS="['<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="95f6fdf0e6f4d5f0edf4f8e5f9f0bbf6faf8" rel="noreferrer noopener nofollow">[email protected]</a>', '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d0a2b1beb4bfbd90b5a8b1bda0bcb5feb3bfbd" rel="noreferrer noopener nofollow">[email protected]</a>']"

关于ruby-on-rails - 具有多个值的配置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26388881/

相关文章:

ruby-on-rails - 将 'published_at' 字段添加到具有 'published' bool 字段的 Post 模型

ruby-on-rails - 使用 net-ldap 从 AD 组中删除成员

ruby-on-rails - Heroku ActionView::Template::/app/app/assets/javascripts/application.js 中的错误 eof (未定义)

ruby-on-rails - Rails应用程序无法通过命名管道/套接字连接到本地MySQL服务器— Windows 7 x64

ruby-on-rails - 将文件排除在 Capistrano 部署之外,同时仍在 Git 的版本控制之下

ruby-on-rails - 如何让 i18n 意识到 "genders"在性别敏感的语言中,例如法语

javascript - Typeahead.js 无法在服务器上运行

git - heroku 应用程序上的应用程序错误

angularjs - Heroku + MEAN 堆栈错误 : Parameter "url" must be a string, 未定义

java - 什么样的应用程序需要 Heroku 上的信用卡验证?