2012-07-02 21 views
0

我最近完成了Hartl的Rails教程,並設計了一個我想嘗試構建的小應用程序。我想了解是否需要學習,並將單獨的數據庫(如PostgreSQL)集成到我的Rails模型中,以便對基於共享質量的用戶進行匹配的功能進行建模。建模以下需要一個與Rails內部提供的單獨數據庫?

例如,如果用戶a和用戶z都表明他們like chinese food以及like spicy meatballs,他們將被「匹配」彼此,其中任用戶可以發起「好友請求」。然而,如果a是喜歡描述的食品,但用戶blike spicy meatballslike tapas,ab不會相互匹配(因爲他們只喜歡1個共同的東西..或一些其他愚蠢的匹配邏輯:))。當然,實際的模型可能比這個稍微複雜一些,其中可能存在其他因素,如「音樂」或「運動」,其中匹配過程會考慮某些質量優越的因素,並且在匹配過程中比其他因素權重更大。

我的問題是 -

  • 將Rails的是足以應付上述稍微複雜的數據庫,供用戶輸入自己的信息,然後一個「黑盒子」模式將吐出的比賽?是否有任何資源可以用於瞭解更多關於Rails數據庫的信息?
  • 如果不是,您會推薦哪種類型的數據庫以瞭解更多信息? PostgreSQL會成爲一個好的候選人嗎?

謝謝!

編輯 - 爲了澄清,我的問題來自於this part in the tutorial中討論的主題,其中提到了如何使用Rails讓人們「幾乎不必考慮Rails如何存儲數據」。我想知道,如果數據庫需要自行執行某些類型的工作(比如匹配),情況會不會如此。

回答

0

哇哇。首先,rails不是db。模型是數據庫的反射和結構化的方式來查看記錄作爲實例變量。 所以,你需要一個分貝。建議你從SQLite開始,因爲它的漂亮和小巧,數據在你的應用中作爲一個文件存在。然後再升級MySQL(注意:這是通用的建議,不知道下一步可能做什麼項目)。

資源: 我強烈建議Railscasts.com 與這一個開始和您的方式工作: http://railscasts.com/episodes/310-getting-started-with-rails

+0

感謝您的聯繫!很抱歉,如果問題遍佈全球(並且混淆概念)。這些澄清真的有幫助。 – daspianist

+0

沒問題。這是否足以回答你的問題? (接受?):) – TomDunning

+0

只是更多的澄清將是偉大的(我接受了答案:))。目前我不清楚的是,如果我要修改Rails yml文件來使用MySQL,我會在MySQL或Rails中爲用戶「匹配」編寫代碼嗎?從概念上講,從數據庫中獲取的匹配如何被轉換爲視圖? – daspianist

相關問題