0
我們如何獲得活動記錄來創建更多不僅僅是自然數(1,2,3 ...)的複雜ID。我不確定我是否應該使用數據庫ID來識別對象,但是現在,在生產中讓他們這樣做會非常不安全。更強大的活動記錄ID
我們如何獲得活動記錄來創建更多不僅僅是自然數(1,2,3 ...)的複雜ID。我不確定我是否應該使用數據庫ID來識別對象,但是現在,在生產中讓他們這樣做會非常不安全。更強大的活動記錄ID
讓我們只是說你想要使用一個名爲slug
的列作爲名爲Post
的對象。
Post
模型before_create
方法,將保存記錄之前,生成唯一slug
值創建slug
列。也許做一些檢查,以確保它是唯一的Post.find_by(slug: id)
而不是Post.find(id)
。post_path(id: post.slug)
,這樣它就不會把id
的URL。
也許像'slug'會有幫助嗎?您可以繼續使用'id'作爲主鍵,但對於其他所有內容使用另一列。所以,你們所要做的只是產生一個獨特的'slug'來識別這個對象,並停止使用'id'來公開所有的東西。 – amree
@amree所以一個slu basically基本上映射到一個ID號碼?如果你不介意,你能提供一個例子嗎? – Carpetfizz
你是什麼意思「相當不安全」? –