Rails具有有用的present?
方法。如何在Hanami中查看相同的内容?
答案 0 :(得分:4)
present?
与Ruby on Rails中的blank?
相反。
您可以使用Hanami::Utils::Blank
:
require 'hanami/utils/blank'
Hanami::Utils::Blank.blank?(nil) #=> true
Hanami::Utils::Blank.blank?(' ') #=> true
Hanami::Utils::Blank.blank?('Artur') #=> false
然而,有两个问题:
blank?
不等于Hanami::Utils::Blank.blank?
Hanami::Utils::Blank.blank?
is considered to be part of a private API 此方法是私有API的一部分。如果可能,您应该避免使用此方法,因为它可能会被删除或将来更改。
您可以在没有Ruby on Rails的情况下使用ActiveSupport
Active Support是实用程序类和标准库扩展的集合。它是一个独立的宝石,你可以独立使用它。
您可以延长Object
:
class Object
def blank?
respond_to?(:empty?) ? !!empty? : !self
end
def present?
!blank?
end
end
最后一个选项
如果语义合适,您可能更喜欢使用纯Ruby及其nil?
和empty?
方法。