1
我有一個ActivityType模型,在創建後創建一個動態頁面,其中一個slug等同於ActivityType的slu。。FriendlyID - 在保存之前分配一個slu 012
如果一個頁面已經存在這個slug,它會拋出一個驗證錯誤,所以我試圖在保存之前更改ActivityType的slug,假設動態頁面已經存在這個slug。
我已經寫了下面的代碼:
def check_and_change_slug
n = 1
slug = title
while DynamicPage.exists?(slug: slug)
slug = title + "-#{n}"
n + 1
end
end
我的問題是,如果我保存記錄之前,執行此代碼,將友好ID試圖創建一個新的團狀,或簡單地用一個我去已經手動分配?
我已經瀏覽過文檔,因此似乎找不到任何東西。
在此先感謝。
感謝您的答覆 - 抱歉,我應該在我的開放問題表示 - 有可能是已經存在的,即使塞還沒有一個動態頁面之前使用過,所以我需要做手動檢查和分配 - 你的代碼當然有意義,但我不認爲可以在這裏使用 – Mark
@Mark我已經更新了我的答案。你可以將你的代碼插入'slug_candidates'方法。我已經在示例項目中對其進行了測試,並且按預期工作 –
忘記回覆 - 非常感謝! – Mark