2013-10-25 57 views
0

想象一下以下路線:友好-ID,檢查兩種型號/表現有蛞蝓

get ':slug/:location' 

其中:搜索觸發取景器基於蛞蝓兩種不同的模式(即Businnes,人)提供。

我目前面臨的問題是,我無法找到一種方法來檢查現有的slu two兩個不同的模型,同時生成一個新的。

tl; dr: 我試圖避免兩個不同的模型被給予相同的slu situation的情況。

任何幫助表示讚賞。

回答

0

你想要做的是運行在每個模型的自定義驗證什麼,這個人會去你的商業模式,例如:

before_save :unique_slug 

private 

def unique_slug 
    self.slug = self.name + "-" + self.id unless 
    self.find_by_slug(:slug).blank? and Person.find_by_slug(:slug).blank? 
    end 
end 
+0

是的,但這是友好-ID沒有時的行爲方式發現一個已經存在的slu((並不完全是我心中)。我希望friendly-id只是生成一個新的(即通過追加uuid)。 –

+0

在這種情況下,如果發生錯誤,您可以將ID設置爲其他內容,我會更新我的答案,讓它做到這一點。 –