Rails Friendly_id:Slug没有正确生成

时间:2016-09-17 09:15:22

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

我尝试使用FriendlyId gem制作我的自定义slug,如:

extend FriendlyId
friendly_id :slug_candidates, :use => [:slugged, :finders]

def slug_candidates
   id = rand(100..200)
   x = ...
   y = ...
   return "#{x}-#{y}-#{id}"
end

在添加slug列之前,当我在rails console中使用.friendly_id进行测试时,会以x-y-id的格式正确显示slug。问题是,当我添加一个slug列并尝试创建新实例时,只是最后一部分被保存(只是一个随机数)作为slug! slu in中没有x和y的值。这里有什么问题,我该如何解决?

1 个答案:

答案 0 :(得分:0)

你可以尝试这样做:

def slug_candidates
   id = rand(100..200)
   x = ...
   y = ...
  [ "#{x}-#{y}-#{id}" ]
end

def should_generate_new_friendly_id?
  true
end