FriendlyId为STI子类返回重复的slugs

时间:2016-04-27 18:32:17

标签: ruby-on-rails friendly-id sti

我正在使用Rails 4.1.14.2和FriendlyId 5.0.3

我有一个具有多个主题的Project类。主题slugs需要在同一项目中的所有主题中是唯一的。

我的路线就像localhost /:project / sub-topic-slug

Topics类使用friendlyId,STI表表包含SubTopics 课程主题 延伸FriendlyId friendlyId:slug_candidates,使用:: stroped,scope :: project

SubTopic1<主题

FriendlyId允许子标题与SubTopic1和SubTopic2相同。当我查看为范围生成的SQL时,它会自动从STI添加类型列。但是文档说默认情况下每个子类的slugs不是唯一的。我该如何改变这种行为?

查看源代码方法“scope_for_slug_generator”:

slugged.rb中的

使用:scope = self.class.base_class.unscoped

但在scoped.rb中使用:relation = self.class.unscoped.friendly

感谢。

0 个答案:

没有答案