【发布时间】:2018-02-26 09:46:39
【问题描述】:
Rails 有有用的present? 方法。如何在Hanami 中查看相同的内容?
【问题讨论】:
-
使用
present?的用例是什么。是为了检查参数吗?有比致电present?更好的方法。
标签: ruby-on-rails ruby hanami
Rails 有有用的present? 方法。如何在Hanami 中查看相同的内容?
【问题讨论】:
present?的用例是什么。是为了检查参数吗?有比致电present? 更好的方法。
标签: ruby-on-rails ruby hanami
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 是实用程序类和标准库扩展的集合。它是一个单独的 gem,您可以独立使用它。
你可以扩展Object:
class Object
def blank?
respond_to?(:empty?) ? !!empty? : !self
end
def present?
!blank?
end
end
最后一个选项
如果语义合适,您可能更喜欢使用纯 Ruby 及其 nil? 和 empty? 方法。
【讨论】: