首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >friendly-id gem可以与url中的大写字母一起使用吗,例如/users/joe-blogs和/users/Joe-Blogs都可以

friendly-id gem可以与url中的大写字母一起使用吗,例如/users/joe-blogs和/users/Joe-Blogs都可以
EN

Stack Overflow用户
提问于 2015-12-30 16:34:14
回答 2查看 207关注 0票数 1

我喜欢友好的id gem,但我看到的一个问题是,当我输入一个包含大写字母的url时,比如/users/Joe-Blogs,它找不到页面。这有点微不足道,但大多数网站都可以处理这样的事情,并将生成页面,无论它是否有一个大写字母。有谁知道解决这个问题的方法吗?

编辑:为了澄清这一点,这是当用户手动输入一个url并在其中放上大写字母时,只是因为它是一个像作者/Joe-Blogs这样的名字。我见过其他网站处理这个问题,但rails似乎只给出了404。

EN

回答 2

Stack Overflow用户

发布于 2015-12-30 16:47:16

friendly_id使用parameterize创建插件。

我认为解决问题的最好方法是先参数化参数,然后再使用它来查找。

代码语言:javascript
运行
复制
# controller
User.find(params[:id].parameterize)

或者参数化该链接所源自的url。

票数 4
EN

Stack Overflow用户

发布于 2015-12-30 18:32:54

作为对Vic答案的补充,您将希望查看url normalization

RFC 3986中描述了以下标准化,以产生等效的URL:将方案和主机转换为小写。

URL的方案和主机组件不区分大小写。大多数规格化器都会将它们转换为小写。

示例:http://www.example.com/ /→

简而言之,在urls中使用大写是违反惯例的。

您可能还希望查看URI normalize;更重要的是,您应该努力去掉URL的大小写:

代码语言:javascript
运行
复制
URI.parse(params[:id]).normalize
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34525782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档