我是Active Record的新手,儘管讀了很多文檔,但我找不到一種方法來執行此操作。我知道這不是處理事情的正確方法,理想情況下,下面的映射邏輯應該存在於另一個表中,但現在這似乎是處理它的最簡單方法。在Active Record中使用示波器的方法
我在數據庫中有以下信息,我想以特殊方式檢索它。我有:
| locations | value |
|----------------|-------|
| brazil | 20 |
| europe | 30 |
| restoftheworld | 35 |
我想要一個自定義的getter方法或範圍,檢查並找到適當的條目。類似於這樣的僞代碼:
def findbylocation(location)
if location exists
return row
elsif location.in_eu?
return row of 'europe'
else
return row of 'restoftheworld'
end
寫這個的最好方法是什麼?這是範圍還是方法?
注意:我使用https://github.com/hexorx/countries進行歐盟檢查,所以這裏沒有問題。
爲什麼不使用散列,而不是數組?那麼你將不需要一種方法。 – Santhosh
它不是一個數組,它們是數據庫行。我編輯了這個問題來說清楚。 – gok
那麼'歐洲'和'restoftheworld'是不同的表格,還是所有的表格? –