首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Ruby on Rails 開發實戰(四十):ActiveRecord 基礎 - Boolean 屬性

     編輯:Java 相關知識

資料庫對 Boolean 型態支援不一,ActiveRecord 提供統一的真偽判斷慣例。

陷阱:直接判斷屬性值

# 錯誤:資料庫可能存 'f'、0、'0',Ruby 視為 true
if user.superuser
  grant_privileges
end

正確:使用問號方法

# 正確:superuser? 會正確解讀
if user.superuser?
  grant_privileges
end

真偽判斷規則

以下值視為 false:數字 0、字串 "0"、"f"、"false"、""、nil、false。其餘皆為 true。

客製化:覆寫問號方法

舊系統或非英文環境(如荷蘭語 J/N)可自訂:

class User < ActiveRecord::Base
  def superuser?
    self.superuser == 'J'
  end
end
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved