所以我有以下字段項目的典範:生成模型Ruby on Rails的
- 名稱(字符串)
- 說明(文本)
- 藏起來(串)
- 導引頭(串)
- 龍(浮動)
- 緯度(浮動)
- 關鍵字(字符串)
- 找到(布爾)
排行榜應具有以下字段:
-Username(名稱) -Points(INT)
我想創造高分,將迭代模型Item模型並查找布爾值爲true的entiers。然後用一個點將搜索者添加到高分表。如果用戶已經存在,那麼只需在他的條目中添加一個額外的點。
我怎麼會去設計這種類型的數據庫...
所以我有以下字段項目的典範:生成模型Ruby on Rails的
排行榜應具有以下字段:
-Username(名稱) -Points(INT)
我想創造高分,將迭代模型Item模型並查找布爾值爲true的entiers。然後用一個點將搜索者添加到高分表。如果用戶已經存在,那麼只需在他的條目中添加一個額外的點。
我怎麼會去設計這種類型的數據庫...
我永遠不會建議迭代方法在這裏。這是我們正在討論的數據庫,對數據進行線性迭代是不現實的。
你可以做的是使用Observer
。閱讀有關他們在這裏 - http://api.rubyonrails.org/classes/ActiveRecord/Observer.html
有了這個,你可以檢查在save
和update
回調並根據您的布爾值,你可以創建/更新的高分紀錄。
哦,這很酷! 讓我只寫邏輯。 您可以創建一個觀察項目模型的Obeserver。 當模型 中的內容更新時,您可以檢查找到的選項是否爲真 如果爲true在高分模型中創建新條目 – 2013-04-29 12:07:42
準確無誤。做這份工作真是太棒了。 – kiddorails 2013-04-29 17:31:05
你是什麼意思?「如果用戶已經存在,那麼只需在他的條目中添加一個額外的點。」當它決定再次迭代?他的作品有什麼意義? – kiddorails 2013-04-29 11:39:27
如果用戶已被添加到高分表。每次找到的選項從false更改爲true時,它應該迭代。 (因爲創建新條目時它總是錯誤的)一個點意味着一個分數。我將編輯帖子。 – 2013-04-29 11:42:22