我的模型中有以下内容:
class Dispenser < ActiveRecord::Base extend FriendlyId friendly_id :slug_candidates, use: :slugged def slug_candidates [ :full_name, [:full_name, :id] ] end end
这会产生像下面这样的slu ::
=> 'bob-barker-bob-barker-15'
实际上它应该是bob-barker
或bob-barker-15
,但不能同时使用.
https://github.com/norman/friendly_id
FriendlyId作者在这里.如前所述,你需要FriendlyId 5,它不适用于4.0.
另请注意,您不能将id字段用作slug的一部分,因为slug是在创建记录之前生成的.
如果您愿意在slug中使用id字段,那么除了FriendlyId之外还有更简单的解决方案,例如覆盖此处所述的to_param
方法.