在Rails friendly_id中如何使用slug的多个属性?

时间:2014-12-22 10:32:07

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

我需要生成具有多个属性的slug。例如,我在每条记录中都需要titleid(不仅仅是标题重复的记录)。所以它看起来像这样:hello-world-8943。我怎么能这样做?

3 个答案:

答案 0 :(得分:2)

根据docs,您可以按如下方式定义自己的slug结构:

class MyModel < ActiveRecord::Base

  friendly_id :uniqueslug, use: :slugged

  def uniqueslug
    "#{title}-#{id}"
  end

end

答案 1 :(得分:0)

加入你的模特

def to_param
   "#{title.parameterize}-#{id}"
end

答案 2 :(得分:0)

你必须通过自己的slu ::

例如,它生成一个随机字符串。

  extend FriendlyId
  friendly_id :random_slug, use: [:slugged, :finders]

  def random_slug
    self.slug = SecureRandom.hex(5)
  end