【问题标题】:friendly_id generate slug with IDfriendly_id 生成带有 ID 的 slug
【发布时间】:2012-02-28 11:00:23
【问题描述】:

我正在尝试使用 friendly_id gem 生成格式为“#{id}-#{title}”的 slug

看起来friendly_id 使用了before_save,并且无法访问ID 属性。

有解决办法吗?

# Permalinks
#-----------------------------------------------------------------------------
extend FriendlyId
friendly_id :id_and_title, :use => :slugged

def id_and_title
  "#{id} #{title}"
end

【问题讨论】:

  • 你能用friendly_id解决这个问题吗?

标签: ruby-on-rails friendly-id


【解决方案1】:

您可以在模型中覆盖 to_param,而不是使用friendly_id,以包含标题

class YourModel < ActiveRecord::Base
  def to_param
    "#{id} #{title}".parameterize
  end
end

这应该具有您所追求的效果,而无需使用friendly_id。

【讨论】:

  • 是的,我最终采用了这种方法。使用这种方法,您只会失去蛞蝓历史。谢谢
  • 这回答了这个非常具体的问题......如果你决定在最后使用 ID,它将无法正常工作,例如 #{title} #{id}.parameterize
猜你喜欢
  • 2015-02-12
  • 1970-01-01
  • 2016-10-28
  • 2015-07-30
  • 2021-04-25
  • 1970-01-01
  • 2014-02-13
  • 2014-03-19
  • 1970-01-01
相关资源
最近更新 更多