Friendly_Id - 定义slug候选者

时间:2014-02-27 04:34:58

标签: ruby-on-rails friendly-id

我有一个名为users的模型,其中用户拥有用户名。我有另一个名为educators的模型,它有很多用户。我想将friendly_ids放在教育者模型上,我希望slug包含用户名(在教育者模型中没有引用)。有没有办法可以在教育者模型中定义slug候选者从用户模型中获取用户名?非常感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用has_many :through语句在Educator模型上提供用户名。

class Educator < ActiveRecord::Base
  has_many :users
  has_many :usernames, through: :users
end

现在我想你应该能够在你的slug候选人定义中使用:usernames。我不完全确定friendly_id会如何对集合做出反应,但是你有主要想法。

此外,如果您只想要一个特定的用户名,但模型确实has_many :users,那么您需要一些更具体的逻辑来整理您想要的用户名。