我使用的是friendly_id(4.0.10.1),这是我的班级:
class Article < ActiveRecord::Base
extend FriendlyId
friendly_id :name, use: [:slugged, :history]
end
如何为slug字段设置49个字符的限制? Gem工作得很好,只是我需要设置由gem管理的49限制,而不是在代码上添加额外的步骤。
答案 0 :(得分:1)
您可以使用Active Record验证。例如,validates_length_of
,或者在slug本身上,或者如果值来自列,那么就在列上。
另一个解决方案就在这里
def normalize_friendly_id(string)
super[0..49]
end
我刚刚通过谷歌搜索找到了这些。
答案 1 :(得分:0)
这是最好的解决方案
friendly_id :slug_candidates, use: :slugged
def slug_candidates
[
:name,
[:name, :city],
[:name, :street, :city],
[:name, :street_number, :street, :city]
]
end
此处更多信息https://www.rubydoc.info/github/norman/friendly_id/FriendlyId/Slugged