我在Rails应用程序中将@
符号添加到时遇到问题slug
。
这是user
模型中的代码:
validates_format_of :username, with: /^[a-zA-Z0-9_.](?!\w*__\w*)\w+$/, multiline: true
extend FriendlyId
friendly_id :custom_slug, use: :slugged
## Friendly_id: change slug if user's username updated or slug is blank
def should_generate_new_friendly_id?
slug.blank? && username_changed?
end
## Friendly_id: add @ to slug
def custom_slug
"@#{username}"
end
它可以与任何其他字符串一起正常工作,但是由于某种原因,它不允许我@
在该段前面添加。最初的想法是URL
为每个用户提供一个好习惯,例如,www.website.com / @ username
有什么方法可以friendly_id
添加@
符号吗?
PS:如果您认为这是个坏主意,我也很想知道。
@字符是URL中的保留字符,表示它具有特殊含义。如果要将其用作URL的简单部分而没有特殊含义,则必须先对其进行百分比编码。请参阅https://www.ietf.org/rfc/rfc3986.txt第2.1和2.2节
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句