2013-07-23 68 views
0

在我的模型,我有幾個範圍定義,如:使用空白?或存在?在模型的範圍在Ruby on Rails的

scope :myScope1, where('myField IS NULL') 

這工作,但我並不需要檢查的「空」 - 我需要檢查'。空白?' - 因爲在數據庫中有非空的情況,我需要包括這些情況。我可以使用'.blank?'在我的類中(並且他們在那裏工作),但是我不能在當前的上下文中使用它。

我一直無法找到適用於此的語法(非折舊品種)。謝謝。

回答

0

嘗試

scope :myScope1, where("myField IS NULL or CAST(myField as text) = ''")

這並不是因爲blank?那麼簡單,但我不能看到一個很簡單的解決方案。

+0

感謝'演員'提示 - 這可能會訣竅。看起來奇怪的是,人們不能簡單地用標準方法測試一個領域。如果沒有人有更好的想法,我會將你的標記作爲解決方案。 – JosephK