在Rails中强制使用小写URL参数

时间:2012-08-01 21:09:34

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2

我在Rails 3.2中开发一个应用程序,它使用to_params将URL /路由更改为自定义的。

模型中的to_params是这样的:

def to_params
  keyword
end

然后,在控制器中,我使用以下方式查找对象:

def show
  @object = Object.find_by_keyword(params[:id])
end

我在模型中也有一个before_save,可确保所有keyword条目都是小写的,因此网址就像http://mydomain.com/object/keyword一样。

我的问题是......某些用户可能会在将关键字或其他内容放入网址时将其大写。在尝试在控制器中查找对象之前,如何将该URL转换为小写?我已经尝试了@object = Object.find_by_keyword(params[:id].lowercase),但它似乎没有用。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

@object = Object.find_by_keyword(params[:id].downcase)

应该工作