【问题标题】:How to use present? in Ruby projects?如何使用礼物?在 Ruby 项目中?
【发布时间】:2011-06-06 15:04:56
【问题描述】:

我编写了一个脚本,它使用 Rails 对 Ruby 核心 Object 类的扩展,现在我想将它独立出来。除了重写这些之外,我可以使用任何库或扩展来使它们独立可用吗?

【问题讨论】:

    标签: ruby ruby-on-rails-3


    【解决方案1】:

    您无需运行 Rails 即可使用

    require 'active_support/all'
    

    或者如果你只是想要一个特定的扩展名,比如blank? for string 那么就

    require 'active_support/core_ext/string'
    

    looked uppresent?实际上是这样定义的

    def present?
      !blank?
    end
    

    在活动支持中定义为空白

    def blank?
      respond_to?(:empty?) ? !!empty? : !self
    end
    

    【讨论】:

    • 正如 tokland 下面所说,您可以更具体:require "active_support/core_ext/object/blank"
    • 嗯,它被定义为!blank?但还要求将空白方法添加到几乎所有其他类(也在同一个文件中),所以它不是那么简单
    【解决方案2】:

    您可以要求ActiveSupport 提供特定功能。在这种情况下:

    require 'active_support/core_ext/object/blank'
    [].present? #=> false
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多