2016-02-28 50 views
-1

試圖使用find_by來查找2列,但我得到一個無方法錯誤。多個find_by屬性爲nil提供了未定義的方法:NilClass錯誤

第2做工精細,用2列與發現第三給人undefined method 'key' for nil:NilClass

CategoryItemValue.find_by(key: key).key #works fine 

CategoryItemValue.find_by(category_item_id: item_id).key #works fine 

CategoryItemValue.find_by(key: key, category_item_id: item_id).key #error 

我使用的軌道4,雖然這是可能的錯誤?

+0

檢查你是不是因爲得到的值,它是給錯誤 – Arvind

+0

你的前兩行構成一個'|| B'。你的第三行是'A && B'。他們不一樣。 – meagar

+0

我知道,當我添加新數據時,我犯了一個不保存數據庫的錯誤。它現在工作正常 – Rob

回答

1

看起來沒有匹配條件的記錄。 嘗試:

CategoryItemValue.find_by(key: key, category_item_id: item_id).try(:key) 
+0

謝謝,事實證明,我忘記保存數據庫後,我把數據。所以如果我使用.try它不會給錯誤,如果沒有記錄匹配?或者是爲了別的 – Rob

相關問題