2
A
回答
4
號
Object#present?
是一回事調用!obj.blank?
。
「屬性?」方法最終可能會調用相同的代碼,但它可能不會,並且取決於您正在處理的列類型。
查看這些不返回相同值的最簡單方法是訪問數字列。假設你的數據庫中有foo.score
作爲十進制列,並將其設置爲零。你會看到以下行爲。
foo.score = 0
foo.score? # false
foo.score.present? # true
代碼「?」方法在ActiveRecord :: AttributeMethods中。
def query_attribute(attr_name)
unless value = read_attribute(attr_name)
false
else
column = self.class.columns_hash[attr_name]
if column.nil?
if Numeric === value || value !~ /[^0-9]/
!value.to_i.zero?
else
return false if ActiveRecord::ConnectionAdapters::Column::FALSE_VALUES.include?(value)
!value.blank?
end
elsif column.number?
!value.zero?
else
!value.blank?
end
end
end
相關問題
- 1. Perl方法屬性如何工作?
- 2. 1563的Python SDK - 如何使用「查詢」屬性,UsersClient get_users方法
- 3. LDAP查詢操作屬性
- 4. ThreadStatic屬性如何工作?
- 5. 屬性類如何工作?
- 6. 方向屬性不工作
- 7. 如何查詢缺失屬性的工件的工件
- 8. 查詢屬性
- 9. SQL查詢如何工作?
- 10. 此查詢如何工作?
- 11. Angularjs $資源查詢方法工作,但獲得方法不工作
- 12. LDAP查詢URL - 如何引用屬性?
- 13. 如何使用Powershell查詢msSFU30MaxUidNumber屬性?
- 14. 查詢子屬性
- 15. PHP LDAP操作屬性查詢
- 16. 實況查詢插件不可見的屬性選擇工作
- 17. AWS查詢屬性不按預期工作
- 18. 搜索在MySQL查詢多個屬性(與工作示例)
- 19. Spring Hibernate查詢無法解析屬性
- 20. EntityManager查詢無法解析屬性
- 21. check_json.pl中JSON查詢的屬性語法
- 22. 無法解析屬性的Hibernate查詢
- 23. Laravel查詢範圍 - $查詢屬性如何通過?
- 24. 如何查詢基於整數屬性gremlin查詢titan圖
- 25. 內容屬性如何工作
- 26. WPF Button.IsCancel屬性如何工作?
- 27. jsp:useBean範圍屬性如何工作?
- 28. Struts標記屬性如何工作?
- 29. UML mustBeOwned屬性如何工作?
- 30. 屬性RegularExpression如何在QTP中工作?
至少3.2,代碼「?」現在存儲在ActiveRecord :: AttributeMethods :: Query中 – toxaq 2013-01-29 03:46:12