在我的 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/