Rails app区分大小写的URL

时间:2012-03-27 18:00:05

标签: ruby-on-rails

在我们的Rails应用程序中,我们的REST架构仅允许区分大小写的用户URL。我们希望用户网址显示为ourapp.com/ChrisScuttiourapp.com/chrisscutti。绝对不想仅仅因为根据案例错误输入他们的URL而铲除404s。

2 个答案:

答案 0 :(得分:2)

最有可能发生的原因是您正在使用像PostgreSQL这样的区分大小写的dbms。如果是这样,请更改您使用的条件,以使该用户不区分大小写。

User.where("lower(username) = ?", username.downcase).first

请注意,这不会更改浏览器中网址的外观,但会使用非大小写敏感标准进行查询。

答案 1 :(得分:0)

这条宝石会在路线调度开始之前将整个路径缩小。

https://rubygems.org/gems/route_downcaser

这样你就不需要在每个控制器上做疯狂的黑客攻击了。

/ Carsten