gpt4 book ai didi

ruby-on-rails - 带有 Rails ENV 变量的 bool 逻辑

转载 作者:数据小太阳 更新时间:2023-10-29 07:14:07 25 4
gpt4 key购买 nike

由于 Rails ENV 变量应该只有字符串值,因此决定如何将 ENV 变量用于需要 bool 逻辑的用例可能是个问题。例如,由于 ENV 变量有一个字符串值,它总是真实的,所以做这样的事情不太好:

if ENV['MY_VARIABLE']
# do something
else
# do something else
end

所以至少有两种方法可以完成上面的事情:

用特定值初始化变量并检查它

if ENV['MY_VARIABLE'] == 'some string'
# do something
elsif ENV['MY_VARIABLE'] == 'some other string'
# do something else
end

或者只是用任何值初始化变量并检查它是否被初始化(代码可以完全符合我们的要求)。

if ENV['MY_VARIABLE']
# do something
else
# do something else
end

问题是哪个选项更受欢迎,每个选项有什么优缺点?

最佳答案

如果您使用 Rails 5+,您可以执行 ActiveModel::Type::Boolean.new.cast(ENV['MY_VARIABLE'])

在 Rails 4.2 中,使用 ActiveRecord::Type::Boolean.new.type_cast_from_user(ENV['MY_VARIABLE'])

文档 Rails 5+:https://api.rubyonrails.org/classes/ActiveModel/Type/Boolean.html

关于ruby-on-rails - 带有 Rails ENV 变量的 bool 逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43802188/

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