Rails 有有用的present?
方法。如何在Hanami中检查相同的内容?
1 回答
4
present?
blank?
与Ruby on Rails 中的相反。
你可以使用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?
被认为是私有 API 的一部分
此方法是私有 API 的一部分。如果可能,您应该避免使用此方法,因为它可能会在将来被删除或更改。
你可以ActiveSupport
在没有 Ruby on Rails 的情况下使用
Active Support是实用程序类和标准库扩展的集合。它是一个单独的 gem,您可以独立使用它。
你可以扩展Object
:
class Object
def blank?
respond_to?(:empty?) ? !!empty? : !self
end
def present?
!blank?
end
end
最后一个选项
You may prefer using pure Ruby and its nil?
and empty?
methods if semantics is suitable.
于 2017-09-17T22:35:15.350 回答