2
我正在編寫一個rails 3.1程序,它允許用戶通過電子郵件與其他人「共享」圖片。Rails應用程序設計問題
http://myapp.com/pictures/uuid
:用戶點擊,然後發送電子郵件出人X(誰沒有與我的應用程序進行註冊)的鏈接,將帶他們到畫面「與人x分享這個」
該人點擊鏈接,被帶到我的應用程序,並看到圖片。
這讓我覺得我的數據庫模式應該有一個圖片表有一個UUID作爲主鍵,但我沒有看到這之前(總是自動增量整數)在Rails中完成。我不認爲自動增量會在這裏起作用,因爲人們可以很容易地猜測任意的網址並獲得其他人的照片。
在rails中處理這個問題的最好方法是什麼?
所以你說有另一個數據庫列叫'ExternalId'或東西來表示隨機字符,然後索引呢? –
對,我有第二個數據庫列。您可以在遷移中的該列上創建一個唯一索引以強制執行數據庫級別,但是您應該在您的圖片模型中放入驗證規則以強制應用程序邏輯中的唯一性。 – spike
如果您生成適當的UUID,是否值得驗證唯一性?在這種情況下使用隨機字符+ id.to_s有什麼好處? –