如何使友好id不区分大小写?

时间:2012-10-01 12:46:10

标签: ruby-on-rails ruby friendly-id

如何在URL cas insensitive中复制twitter用户名:

所有这些网址都会在用户名保存为“MY_Name”等时打开用户页面。

Model.find('my_NAmE')方法查找名为MY_Name的用户记录。

1 个答案:

答案 0 :(得分:6)

比较不区分大小写的方法是在数据库和搜索输入中规范化大小写,以便搜索始终返回结果,无论输入大小写。

  1. 在将用户名保存到数据库之前,始终将其置于用户名

  2. 使用Model.find(params[:id].to_s.downcase)或自定义方法执行不区分大小写的查找

  3. 你有。

    如果您不想更改原始用户名案例,请将第二列添加到存储下层版本的用户表中。然后在此字段上执行搜索,而不是原始用户字段。