0

想象以下路线:

get ':slug/:location'  

其中 :search 正在根据提供的 slug 触发两个不同模型(即 Businnes、Person)上的查找器。

我目前面临的问题是我找不到一种方法来检查两个不同模型的现有 slug,同时生成一个新的。

tl;博士:我试图避免两种不同的模型被赋予相同的蛞蝓的情况。

任何帮助表示赞赏。

4

1 回答 1

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
于 2013-10-25T23:56:28.940 回答