【发布时间】:2012-08-01 21:09:33
【问题描述】:
我正在 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 条目都是小写的,所以URL 像http://mydomain.com/object/keyword 一样出现。
我的问题是……有些用户在自己将关键字或其他内容放入 URL 时可能会想将其大写。在尝试在控制器中查找对象之前,如何将该 URL 转换为小写?我试过@object = Object.find_by_keyword(params[:id].lowercase),但似乎没有用。
任何帮助将不胜感激!
【问题讨论】:
-
你的模型被称为“对象”还是只是一个例子? Ruby 已经有“Object”类,它是 Ruby 中几乎所有其他对象的超类,所以这可能会产生误导。
-
-1 用于缺少值的示例或有助于解决问题的更多详细信息。
-
好的,您还需要什么其他详细信息?我仍在寻找问题的答案。如果我可以 -1 评论,我会感谢您没有指定您想要的详细信息!?
-
你确定它是一个字符串对象(记录它的#class 属性),你确定它周围没有任何空格(log ">>#{params[:id]}
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2