如何在rails中创建哈希URL?
问题描述:
我有一个产品控制器,让我来访问演出方法在通常的铁轨方式如何在rails中创建哈希URL?
product GET /products/:id(.:format) products#show
现在,我想对每一个产品,它可以在根访问的唯一的哈希网址路径例如 mydomain.com/24fe3455g
这样做的最好方法是什么?
最佳 菲利普
答
首先,您需要在您的routes.rb
中定义匹配路线。既然它是一种“跌倒”,你通常会把它放在路线的尽头。看看导游如何定义:http://guides.rubyonrails.org/routing.html
,如果你想在你的应用程序而不是IDS始终使用该散列式的URL,你也将实现to_param
和self.from_param
方法模型:http://apidock.com/rails/ActiveRecord/Base/to_param
如果你喜欢一些工具支持,你也可以使用像friendly_id这样的宝石:http://rubydoc.info/github/norman/friendly_id/master/file/Guide.rdoc
答
,你可以在数据库中存储的md5
每一行 - 计算这个MD5为id+timestamp
例如(如连接的字符串),然后让喜欢你的路线:
product GET /products/:hash(.:format) products#show
你也可以使用UUID
进行代表独特ID
推荐的宝石很好,但我期望有很多产品。所以它可能会发生,我会有多个具有相同名称的项目,所以这会限制使用这个gem .. – dc10 2012-07-30 16:54:47