Hanami 有 .present 的替代方案吗?
Have Hanami an alternative for .present?
Rails 有有用的 present?
方法。如何在 Hanami 中检查相同内容?
present?
与 Ruby 中 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
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
您可以在 Rails
上使用 ActiveSupport
而没有 Ruby
Active Support 是实用程序 类 和标准库扩展的集合。它是一个单独的gem,您可以独立使用它。
您可以扩展 Object
:
class Object
def blank?
respond_to?(:empty?) ? !!empty? : !self
end
def present?
!blank?
end
end
最后一个选项
如果语义合适,您可能更喜欢使用纯 Ruby 及其 nil?
和 empty?
方法。
Rails 有有用的 present?
方法。如何在 Hanami 中检查相同内容?
present?
与 Ruby 中 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
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
您可以在 Rails
上使用ActiveSupport
而没有 Ruby
Active Support 是实用程序 类 和标准库扩展的集合。它是一个单独的gem,您可以独立使用它。
您可以扩展 Object
:
class Object
def blank?
respond_to?(:empty?) ? !!empty? : !self
end
def present?
!blank?
end
end
最后一个选项
如果语义合适,您可能更喜欢使用纯 Ruby 及其 nil?
和 empty?
方法。