我有一个用户对象:
@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的问题吗?
谢谢!
答案 0 :(得分:2)
您对acts_as_shopping_cart
的使用完全解释了问题
present?
被定义为与blank?.
空白?is defined as whether the object is non-empty, if the object has an
空?方法相反,或者对象是否为非零(参见定义here)< / p>
此购物车gem在用户上定义了empty?
方法,因此所有没有相关购物车商品的用户都开始将自己报告为空,因此不存在。
答案 1 :(得分:0)
好的伙计们,真的很抱歉...... 这不是红宝石问题(或者可能不完全)。
我安装了&#34; acts_as_shopping_cart&#34; gem(https://github.com/crowdint/acts_as_shopping_cart)和我的用户是购物车(购物车方面没有信息,全部都是购物车)。 当我删除&#34; acts_as_shopping_cart_using:cart_item&#34;从用户模型来看,一切正常......
很奇怪......我删除了这个宝石,开发了我自己的多态cartitem,这很好!
很抱歉,你没有回答所有要素...... 非常感谢你的帮助