问题
前端传递给 Rails 的布尔类型的参数在 params
中存储为字符串。
需求
将布尔字符串转换为布尔类型,方便比较。
解决
新建 config/initializers/extension/string.rb
文件,内容如下
class String
def to_bool
return true if ["true", "1", "yes", "on", "t"].include? self
return false if ["false", "0", "no", "off", "f"].include? self
return nil
end
end
食用方法:
if params[:isActive].to_bool
# do something
else
# do something else
end
评论区