我有一个用户对象:
@user = User.find(1)
我只想在找到用户时采取行动...
if @user.present?
...
end
开发环境(ruby 2.2.1):
@user.present?
# => true
暂存环境(ruby 2.2.0):
@user.present?
# => false
@user.nil?
# => false
@user.empty?
# => true
@user.name
# => "Flo"
如果我能得到他的名字,我的用户怎么会是空的?如果有人应该给我一个解释...这是 ruby 2.2.0 的问题吗?
谢谢!
最佳答案
您对 acts_as_shopping_cart
的使用完全说明了问题
present?
被定义为与 blank? 相反。
blank?被定义为对象是否非空,如果该对象有
empty?` 方法或者对象是否为非零(参见定义 here )
此购物车 gem 为用户定义了一个 empty?
方法,因此所有没有关联购物车商品的用户开始将自己报告为空,因此不存在。
关于ruby - 看不懂空白? Rails 对象上的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29557476/